From: Chen Fan <chen.fan.f...@cn.fujitsu.com> add interface cpu_common_unrealizefn() for emiting vcpu unplug notifier to ACPI, then ACPI could send sci interrupt to OS for hot-remove vcpu.
Signed-off-by: Chen Fan <chen.fan.f...@cn.fujitsu.com> Signed-off-by: Gu Zheng <guz.f...@cn.fujitsu.com> --- qom/cpu.c | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/qom/cpu.c b/qom/cpu.c index f921282..8bb2b4f 100644 --- a/qom/cpu.c +++ b/qom/cpu.c @@ -315,6 +315,17 @@ static void cpu_common_realizefn(DeviceState *dev, Error **errp) } } +static void cpu_common_unrealizefn(DeviceState *dev, Error **errp) +{ + CPUNotifier notifier; + + notifier.dev = dev; + notifier.type = UNPLUG; + + notifier_list_notify(&cpu_hotplug_notifiers, ¬ifier); +} + + static void cpu_common_initfn(Object *obj) { CPUState *cpu = CPU(obj); @@ -348,6 +359,7 @@ static void cpu_class_init(ObjectClass *klass, void *data) k->gdb_write_register = cpu_common_gdb_write_register; k->virtio_is_big_endian = cpu_common_virtio_is_big_endian; dc->realize = cpu_common_realizefn; + dc->unrealize = cpu_common_unrealizefn; /* * Reason: CPUs still need special care by board code: wiring up * IRQs, adding reset handlers, halting non-first CPUs, ... -- 1.7.7