xref: /qemu/include/hw/acpi/cpu_hotplug.h (revision 679dd1a957df418453efdd3ed2914dba5cd73773)
181cea5e7SIgor Mammedov /*
281cea5e7SIgor Mammedov  * QEMU ACPI hotplug utilities
381cea5e7SIgor Mammedov  *
481cea5e7SIgor Mammedov  * Copyright (C) 2013 Red Hat Inc
581cea5e7SIgor Mammedov  *
681cea5e7SIgor Mammedov  * Authors:
781cea5e7SIgor Mammedov  *   Igor Mammedov <imammedo@redhat.com>
881cea5e7SIgor Mammedov  *
981cea5e7SIgor Mammedov  * This work is licensed under the terms of the GNU GPL, version 2 or later.
1081cea5e7SIgor Mammedov  * See the COPYING file in the top-level directory.
1181cea5e7SIgor Mammedov  */
1281cea5e7SIgor Mammedov #ifndef ACPI_HOTPLUG_H
1381cea5e7SIgor Mammedov #define ACPI_HOTPLUG_H
1481cea5e7SIgor Mammedov 
1581cea5e7SIgor Mammedov #include "hw/acpi/acpi.h"
167e629d1dSIgor Mammedov #include "hw/acpi/pc-hotplug.h"
17fbd7a6b8SIgor Mammedov #include "hw/acpi/aml-build.h"
180058c082SIgor Mammedov #include "hw/hotplug.h"
19*679dd1a9SIgor Mammedov #include "hw/acpi/cpu.h"
2081cea5e7SIgor Mammedov 
2181cea5e7SIgor Mammedov typedef struct AcpiCpuHotplug {
22*679dd1a9SIgor Mammedov     Object *device;
2381cea5e7SIgor Mammedov     MemoryRegion io;
2481cea5e7SIgor Mammedov     uint8_t sts[ACPI_GPE_PROC_LEN];
2581cea5e7SIgor Mammedov } AcpiCpuHotplug;
2681cea5e7SIgor Mammedov 
270058c082SIgor Mammedov void legacy_acpi_cpu_plug_cb(HotplugHandler *hotplug_dev,
281be6b511SGu Zheng                              AcpiCpuHotplug *g, DeviceState *dev, Error **errp);
291be6b511SGu Zheng 
3096e3e12bSIgor Mammedov void legacy_acpi_cpu_hotplug_init(MemoryRegion *parent, Object *owner,
3181cea5e7SIgor Mammedov                                   AcpiCpuHotplug *gpe_cpu, uint16_t base);
32fbd7a6b8SIgor Mammedov 
33*679dd1a9SIgor Mammedov void acpi_switch_to_modern_cphp(AcpiCpuHotplug *gpe_cpu,
34*679dd1a9SIgor Mammedov                                 CPUHotplugState *cpuhp_state,
35*679dd1a9SIgor Mammedov                                 uint16_t io_port);
36*679dd1a9SIgor Mammedov 
3796e3e12bSIgor Mammedov void build_legacy_cpu_hotplug_aml(Aml *ctx, MachineState *machine,
38ebd8ea82SIgor Mammedov                                   uint16_t io_base);
3981cea5e7SIgor Mammedov #endif
40