aboutsummaryrefslogtreecommitdiff
path: root/include/hw/acpi
diff options
context:
space:
mode:
authorIgor Mammedov <imammedo@redhat.com>2016-06-14 16:14:02 +0200
committerMichael S. Tsirkin <mst@redhat.com>2016-06-24 05:21:26 +0300
commit8872c25a26ccc2c2f62903b023212bbc0a4f5d39 (patch)
tree05426589c9b1f870cecea5adadd5108cc3ccbbb0 /include/hw/acpi
parentd2238cb6781d7bcbbf8ddf4a1f8486838b80c7bb (diff)
downloadqemu-8872c25a26ccc2c2f62903b023212bbc0a4f5d39.zip
qemu-8872c25a26ccc2c2f62903b023212bbc0a4f5d39.tar.gz
qemu-8872c25a26ccc2c2f62903b023212bbc0a4f5d39.tar.bz2
acpi: cpuhp: implement hot-remove parts of CPU hotplug interface
it adds hw registers needed for handling CPU hot-remove and corresponding AML methods to request and eject a CPU with necessary hotplug callbacks in pc,piix4,ich9 code. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'include/hw/acpi')
-rw-r--r--include/hw/acpi/cpu.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/hw/acpi/cpu.h b/include/hw/acpi/cpu.h
index 55c3166..f334221 100644
--- a/include/hw/acpi/cpu.h
+++ b/include/hw/acpi/cpu.h
@@ -21,6 +21,7 @@ typedef struct AcpiCpuStatus {
struct CPUState *cpu;
uint64_t arch_id;
bool is_inserting;
+ bool is_removing;
} AcpiCpuStatus;
typedef struct CPUHotplugState {
@@ -34,6 +35,13 @@ typedef struct CPUHotplugState {
void acpi_cpu_plug_cb(HotplugHandler *hotplug_dev,
CPUHotplugState *cpu_st, DeviceState *dev, Error **errp);
+void acpi_cpu_unplug_request_cb(HotplugHandler *hotplug_dev,
+ CPUHotplugState *cpu_st,
+ DeviceState *dev, Error **errp);
+
+void acpi_cpu_unplug_cb(CPUHotplugState *cpu_st,
+ DeviceState *dev, Error **errp);
+
void cpu_hotplug_hw_init(MemoryRegion *as, Object *owner,
CPUHotplugState *state, hwaddr base_addr);