On Wed, 7 Jan 2015 14:49:45 +0800 Tang Chen <tangc...@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; > } >