qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH Part1 5/5] acpi, piix4: Add unplug cb for piix4.


From: Tang Chen
Subject: [Qemu-devel] [PATCH Part1 5/5] acpi, piix4: Add unplug cb for piix4.
Date: Mon, 17 Nov 2014 13:03:17 +0800

Memory and CPU hot unplug are both asynchronize procedures.
When the unplug operation happens, unplug request cb is called first.
And when ghest OS finished handling unplug, unplug cb will be called
to do the real removal of device.

This patch adds hotunplug cb for piix4, and memory and CPU
hot unplug will base on it.

Signed-off-by: Tang Chen <address@hidden>
---
 hw/acpi/piix4.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c
index 78c0a6d..353f91a 100644
--- a/hw/acpi/piix4.c
+++ b/hw/acpi/piix4.c
@@ -369,6 +369,13 @@ static void piix4_device_unplug_request_cb(HotplugHandler 
*hotplug_dev,
     }
 }
 
+static void piix4_device_unplug_cb(HotplugHandler *hotplug_dev,
+                                   DeviceState *dev, Error **errp)
+{
+    error_setg(errp, "acpi: device unplug for not supported device"
+               " type: %s", object_get_typename(OBJECT(dev)));
+}
+
 static void piix4_update_bus_hotplug(PCIBus *pci_bus, void *opaque)
 {
     PIIX4PMState *s = opaque;
@@ -606,6 +613,7 @@ static void piix4_pm_class_init(ObjectClass *klass, void 
*data)
     dc->hotpluggable = false;
     hc->plug = piix4_device_plug_cb;
     hc->unplug_request = piix4_device_unplug_request_cb;
+    hc->unplug = piix4_device_unplug_cb;
     adevc->ospm_status = piix4_ospm_status;
 }
 
-- 
1.8.4.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]