On Wed, 10 Dec 2014 15:02:44 +0800 Tang Chen <tangc...@cn.fujitsu.com> wrote:
> Hi Igor, > > On 11/18/2014 08:44 PM, Igor Mammedov wrote: > > On Mon, 17 Nov 2014 13:03:13 +0800 > > Tang Chen <tangc...@cn.fujitsu.com> wrote: > > > > in subj s/cb/callback|handler/ > > > >> Memory and CPU hot unplug are both asynchronize procedures. > > s/asynchronize/asynchronous/ > >> They both need unplug request cb when the unplug operation happens. > > s/cb when the unplug operation happens/callback to initiate unplug > > operation/ > > > >> This patch adds hotunplug request cb for pc machine, and memory and CPU > >> hot unplug will base on it. > > Add unplug handler to pc machine that will be used by following > > CPU and memory unplug patches. > > > > > >> Signed-off-by: Tang Chen <tangc...@cn.fujitsu.com> > >> --- > >> hw/i386/pc.c | 8 ++++++++ > >> 1 file changed, 8 insertions(+) > >> > >> diff --git a/hw/i386/pc.c b/hw/i386/pc.c > >> index 1205db8..5c48435 100644 > >> --- a/hw/i386/pc.c > >> +++ b/hw/i386/pc.c > >> @@ -1647,6 +1647,13 @@ static void > >> pc_machine_device_plug_cb(HotplugHandler *hotplug_dev, > >> } > >> } > >> > >> +static void pc_machine_device_unplug_request_cb(HotplugHandler > >> *hotplug_dev, > >> + DeviceState *dev, Error > >> **errp) > >> +{ > >> + error_setg(errp, "acpi: device unplug request for not supported > >> device" > >> + " type: %s", object_get_typename(OBJECT(dev))); > > it's not necessarily acpi related in general so maybe drop 'acpi:' prefix. > > Also it would be nice to add device's ID or use it instead of type name. > > Since QEmu 2.2 has been released, I'm now rebasing this patch-set. > > Here, you suggested to use device id instead device type name. > But all existing plug handles are using device type name. > > Should I send patches to change them all ? May be better would be to just leave it as is for now (i.e. out of this series). > > Thanks. > > > > >> +} > >> + > >> static HotplugHandler *pc_get_hotpug_handler(MachineState *machine, > >> DeviceState *dev) > >> { > >> @@ -1753,6 +1760,7 @@ static void pc_machine_class_init(ObjectClass *oc, > >> void *data) > >> pcmc->get_hotplug_handler = mc->get_hotplug_handler; > >> mc->get_hotplug_handler = pc_get_hotpug_handler; > >> hc->plug = pc_machine_device_plug_cb; > >> + hc->unplug_request = pc_machine_device_unplug_request_cb; > >> } > >> > >> static const TypeInfo pc_machine_info = { > > . > > >