aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Hildenbrand <david@redhat.com>2017-09-13 15:24:12 +0200
committerCornelia Huck <cohuck@redhat.com>2017-09-19 18:31:32 +0200
commitf2f3beb0040cbdad1b4098cbb11ecc102044bf6e (patch)
treee8c86d6772d5b65605691f0ba1a09abb62d0c265
parent0347ab84698e668a8da5ce05c3ad4e1d6e553456 (diff)
s390x: CPU hot unplug via device_del cannot work for now
device_del on a CPU will currently do nothing. Let's emit an error telling that this is will currently not 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 Reviewed-by: Matthew Rosato <mjrosato@linux.vnet.ibm.com> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170913132417.24384-18-david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-rw-r--r--hw/s390x/s390-virtio-ccw.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 99c36a1315..acdd53573c 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -339,6 +339,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)
{
@@ -388,6 +397,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;
}