Memory hot unplug are both asynchronous procedures. When the unplug operation happens, unplug request cb is called first. And when guest OS finished handling unplug, unplug cb will be called to do the real removal of device.
v4: -reorganize the patchset -drop the new API acpi_send_gpe_event() -update ssdt-mem v3: -commit message changes -reorganize the patchset, squash and separate some patches -update specs about acpi_mem_hotplug -first cleanup external state, then un-map and un-register memory device v2: -do a generic for acpi to send gpe event -unparent object by PC_MACHINE -update description in acpi_mem_hotplug.txt -combine the last two patches in the last version -cleanup external state in acpi_memory_unplug_cb Tang Chen (5): acpi, mem-hotplug: Add acpi_memory_slot_status() to get MemStatus acpi, mem-hotplug: Add unplug request cb for memory device pc-dimm: Add memory hot unplug request support for pc-dimm acpi, mem-hotplug: Add unplug cb for memory device pc-dimm: Add memory hot unplug support for pc-dimm Zhu Guihua (1): acpi: Add hardware implementation for memory hot unplug docs/specs/acpi_mem_hotplug.txt | 11 +++++- hw/acpi/ich9.c | 19 ++++++++-- hw/acpi/memory_hotplug.c | 78 +++++++++++++++++++++++++++++++++++---- hw/acpi/piix4.c | 16 ++++++-- hw/core/qdev.c | 2 +- hw/i386/acpi-build.c | 9 +++++ hw/i386/acpi-dsdt-mem-hotplug.dsl | 10 +++++ hw/i386/pc.c | 54 +++++++++++++++++++++++++-- include/hw/acpi/memory_hotplug.h | 6 +++ include/hw/acpi/pc-hotplug.h | 2 + include/hw/qdev-core.h | 1 + trace-events | 1 + 12 files changed, 187 insertions(+), 22 deletions(-) -- 1.9.3