On 09/04/2017 05:43 PM, David Hildenbrand wrote: > device_del on a CPU will currently do nothing. Let's emmit an error > telling that this is will never work (there is no architecture support > on s390x). Error message copied from ppc. > > (qemu) device_del cpu1 > device_del cpu1 > CPU hot unplug not supported on this machine
Given the fact that I get the question about unplug _every_ time when I give a presentation about KVM on z, I will try to get some architecture folks look at this. Maybe we can define something very simple like "if the CPU is in the stopped state we can remove this and just piggy back on the existing sclp EVENT_QUAL_CPU_CHANGE notification". So maybe add "currently" > > Signed-off-by: David Hildenbrand <da...@redhat.com> > --- > hw/s390x/s390-virtio-ccw.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c > index 22a8a1b45d..dd149567bb 100644 > --- a/hw/s390x/s390-virtio-ccw.c > +++ b/hw/s390x/s390-virtio-ccw.c > @@ -338,6 +338,15 @@ static void s390_machine_device_plug(HotplugHandler > *hotplug_dev, > } > } > > +static void s390_machine_device_unplug_request(HotplugHandler *hotplug_dev, > + DeviceState *dev, Error > **errp) > +{ > + if (object_dynamic_cast(OBJECT(dev), TYPE_CPU)) { > + error_setg(errp, "CPU hot unplug not supported on this machine"); > + return; > + } > +} > + > static HotplugHandler *s390_get_hotplug_handler(MachineState *machine, > DeviceState *dev) > { > @@ -387,6 +396,7 @@ static void ccw_machine_class_init(ObjectClass *oc, void > *data) > mc->max_cpus = 248; > mc->get_hotplug_handler = s390_get_hotplug_handler; > hc->plug = s390_machine_device_plug; > + hc->unplug_request = s390_machine_device_unplug_request; > nc->nmi_monitor_handler = s390_nmi; > } >