Message ID | 1420613385-13679-6-git-send-email-tangchen@cn.fujitsu.com |
---|---|
State | New |
Headers | show |
On Wed, 7 Jan 2015 14:49:45 +0800 Tang Chen <tangchen@cn.fujitsu.com> wrote: > Memory and CPU hot unplug are both asynchronize procedures. s/asynchronize/asynchronous/ > When the unplug operation happens, unplug request cb is called first. > And when ghest OS finished handling unplug, unplug cb will be called s/ghest/guest/ > to do the real removal of device. > > This patch adds hotunplug cb for piix4, and memory and CPU s/for/to/ s/and memory/which memory/ > hot unplug will base on it. s/base on it/use/ > --- > hw/acpi/piix4.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c > index 481a16c..4407388 100644 > --- a/hw/acpi/piix4.c > +++ b/hw/acpi/piix4.c > @@ -370,6 +370,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; > @@ -610,6 +617,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; > } >
diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c index 481a16c..4407388 100644 --- a/hw/acpi/piix4.c +++ b/hw/acpi/piix4.c @@ -370,6 +370,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; @@ -610,6 +617,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; }