Message ID | 1411733296-19250-1-git-send-email-imammedo@redhat.com |
---|---|
State | New |
Headers | show |
On Fri, 26 Sep 2014 12:08:16 +0000 Igor Mammedov <imammedo@redhat.com> wrote: > beside of conversion, patch drops present unplug > handling, effectively disabling hot-unplug of > s390-virtio devices. > > Signed-off-by: Igor Mammedov <imammedo@redhat.com> > --- > v3: > disable unplug, Cornelia Huck <cornelia.huck@de.ibm.com> > v2: > fix not working unplug > --- > hw/s390x/s390-virtio-bus.c | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c > index 6b6fb61..7fa47d4 100644 > --- a/hw/s390x/s390-virtio-bus.c > +++ b/hw/s390x/s390-virtio-bus.c > @@ -674,6 +673,7 @@ static int s390_virtio_bridge_init(SysBusDevice *dev) > static void s390_virtio_bridge_class_init(ObjectClass *klass, void *data) > { > SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass); > + HotplugHandlerClass *hc = HOTPLUG_HANDLER_CLASS(klass); This line is not needed (and gives an error for me). > > k->init = s390_virtio_bridge_init; > }
On Fri, 26 Sep 2014 14:15:48 +0200 Cornelia Huck <cornelia.huck@de.ibm.com> wrote: > On Fri, 26 Sep 2014 12:08:16 +0000 > Igor Mammedov <imammedo@redhat.com> wrote: > > > beside of conversion, patch drops present unplug > > handling, effectively disabling hot-unplug of > > s390-virtio devices. > > > > Signed-off-by: Igor Mammedov <imammedo@redhat.com> > > --- > > v3: > > disable unplug, Cornelia Huck <cornelia.huck@de.ibm.com> > > v2: > > fix not working unplug > > --- > > hw/s390x/s390-virtio-bus.c | 11 ++++++----- > > 1 file changed, 6 insertions(+), 5 deletions(-) > > > > diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c > > index 6b6fb61..7fa47d4 100644 > > --- a/hw/s390x/s390-virtio-bus.c > > +++ b/hw/s390x/s390-virtio-bus.c > > > @@ -674,6 +673,7 @@ static int s390_virtio_bridge_init(SysBusDevice *dev) > > static void s390_virtio_bridge_class_init(ObjectClass *klass, void *data) > > { > > SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass); > > + HotplugHandlerClass *hc = HOTPLUG_HANDLER_CLASS(klass); > > This line is not needed (and gives an error for me). Ops, sorry. I'll fix it. > > > > > k->init = s390_virtio_bridge_init; > > } > >
diff --git a/hw/s390x/s390-virtio-bus.c b/hw/s390x/s390-virtio-bus.c index 6b6fb61..7fa47d4 100644 --- a/hw/s390x/s390-virtio-bus.c +++ b/hw/s390x/s390-virtio-bus.c @@ -102,7 +102,7 @@ VirtIOS390Bus *s390_virtio_bus_init(ram_addr_t *ram_size) bus->next_ring = bus->dev_page + TARGET_PAGE_SIZE; /* Enable hotplugging */ - _bus->allow_hotplug = 1; + qbus_set_hotplug_handler(_bus, dev, &error_abort); /* Allocate RAM for VirtIO device pages (descriptors, queues, rings) */ *ram_size += S390_DEVICE_PAGES * TARGET_PAGE_SIZE; @@ -600,7 +600,6 @@ static void virtio_s390_device_class_init(ObjectClass *klass, void *data) dc->init = s390_virtio_busdev_init; dc->bus_type = TYPE_S390_VIRTIO_BUS; - dc->unplug = qdev_simple_unplug_cb; dc->reset = s390_virtio_busdev_reset; } @@ -674,6 +673,7 @@ static int s390_virtio_bridge_init(SysBusDevice *dev) static void s390_virtio_bridge_class_init(ObjectClass *klass, void *data) { SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass); + HotplugHandlerClass *hc = HOTPLUG_HANDLER_CLASS(klass); k->init = s390_virtio_bridge_init; } @@ -683,6 +683,10 @@ static const TypeInfo s390_virtio_bridge_info = { .parent = TYPE_SYS_BUS_DEVICE, .instance_size = sizeof(SysBusDevice), .class_init = s390_virtio_bridge_class_init, + .interfaces = (InterfaceInfo[]) { + { TYPE_HOTPLUG_HANDLER }, + { } + } }; /* virtio-s390-bus */ @@ -691,13 +695,10 @@ static void virtio_s390_bus_new(VirtioBusState *bus, size_t bus_size, VirtIOS390Device *dev) { DeviceState *qdev = DEVICE(dev); - BusState *qbus; char virtio_bus_name[] = "virtio-bus"; qbus_create_inplace(bus, bus_size, TYPE_VIRTIO_S390_BUS, qdev, virtio_bus_name); - qbus = BUS(bus); - qbus->allow_hotplug = 1; } static void virtio_s390_bus_class_init(ObjectClass *klass, void *data)
beside of conversion, patch drops present unplug handling, effectively disabling hot-unplug of s390-virtio devices. Signed-off-by: Igor Mammedov <imammedo@redhat.com> --- v3: disable unplug, Cornelia Huck <cornelia.huck@de.ibm.com> v2: fix not working unplug --- hw/s390x/s390-virtio-bus.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-)