From: Hu Tao <hu...@cn.fujitsu.com> Implement acpi_memory_unplug_cb(), sending an sci to guest to trigger memory hot-remove, and call it in piix4_device_unplug_cb().
Signed-off-by: Hu Tao <hu...@cn.fujitsu.com> Signed-off-by: Tang Chen <tangc...@cn.fujitsu.com> --- hw/acpi/piix4.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c index 78c0a6d..92b29b7 100644 --- a/hw/acpi/piix4.c +++ b/hw/acpi/piix4.c @@ -360,7 +360,11 @@ static void piix4_device_unplug_request_cb(HotplugHandler *hotplug_dev, { PIIX4PMState *s = PIIX4_PM(hotplug_dev); - if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) { + if (s->acpi_memory_hotplug.is_enabled && + object_dynamic_cast(OBJECT(dev), TYPE_PC_DIMM)) { + acpi_memory_unplug_cb(&s->ar, s->irq, &s->acpi_memory_hotplug, dev, + errp); + } else if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) { acpi_pcihp_device_unplug_cb(&s->ar, s->irq, &s->acpi_pci_hotplug, dev, errp); } else { -- 1.8.4.2