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.
This series is rebased on mst pci branch.
http://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git
v4:
-reorganize the patchset
-fix all about 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 (6):
acpi, mem-hotplug: Add acpi_memory_slot_status() to get MemStatus
acpi: Add acpi_send_gpe_event() to rise sci for hotplug
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/core.c | 7 ++++
hw/acpi/cpu_hotplug.c | 3 +-
hw/acpi/ich9.c | 19 +++++++--
hw/acpi/memory_hotplug.c | 81
+++++++++++++++++++++++++++++++++------
hw/acpi/pcihp.c | 7 +---
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/acpi.h | 10 +++++
include/hw/acpi/memory_hotplug.h | 8 +++-
include/hw/acpi/pc-hotplug.h | 3 +-
include/hw/qdev-core.h | 1 +
trace-events | 1 +
16 files changed, 207 insertions(+), 35 deletions(-)