This patch-set implements memory hot-remove for QEmu. Rebased on Igor's asynchronize hotplug framework (qemu v2.1.2, the latest).
Approach: QEmu sets GPE status bit, then triggers SCI to notify guest os. Guest os checks device status, and free memory resource if possible, then generate OST. NOTE: In this version, memory hot-remove is independent from _OST, following Igor's comments. Will implement _OST for memory hot-remove soon if this part is OK. Change log v3 -> v4 (RESEND): 1. Add new patch 1 ~ 4, fix some small problems in coding. 2. In patch 9, make memory hot-remove independent from _OST. 3. In patch 9, add comment for is_removing flag to document. 4. In patch 10, use macro instead of number. 5. Remove original patch 8 and 12 to coincident with asynchronize hotplug framework. Hu Tao (4): acpi, piix4: Add memory hot unplug support for piix4. pc: Add memory hot unplug support for pc machine. pc-dimm: Add pc_dimm_unrealize() for memory hot unplug support. pc, acpi bios: Add memory hot unplug interface. Tang Chen (6): acpi, mem-hotplug: Use PC_DIMM_SLOT_PROP in acpi_memory_plug_cb(). acpi, mem-hotplug: Add acpi_memory_get_slot_status_descriptor() to get MemStatus. acpi, mem-hotplug: Add acpi_memory_hotplug_sci() to rise sci for memory hotplug. acpi, mem-hotplug: Add acpi_memory_unplug_cb() to implement memory unplug. acpi, ich9: Add memory hot unplug support for ich9. acpi: Add hardware implementation for memory hot unplug. docs/specs/acpi_mem_hotplug.txt | 8 +++-- hw/acpi/ich9.c | 12 +++++++ hw/acpi/memory_hotplug.c | 71 +++++++++++++++++++++++++++++++--------- hw/acpi/piix4.c | 6 +++- hw/i386/pc.c | 31 ++++++++++++++++++ hw/i386/ssdt-mem.dsl | 5 +++ hw/i386/ssdt-misc.dsl | 13 +++++++- hw/isa/lpc_ich9.c | 5 +-- hw/mem/pc-dimm.c | 10 ++++++ include/hw/acpi/ich9.h | 2 ++ include/hw/acpi/memory_hotplug.h | 3 ++ include/hw/acpi/pc-hotplug.h | 2 ++ 12 files changed, 146 insertions(+), 22 deletions(-) -- 1.8.4.2