On Tue, 18 Dec 2012 09:45:27 +0100 Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote: > Il 04/09/2012 17:13, Cornelia Huck ha scritto: > > +VirtioCcwBus *virtio_ccw_bus_init(void) > > +{ > > + VirtioCcwBus *cbus; > > + BusState *bus; > > + DeviceState *dev; > > + > > + /* Create bridge device */ > > + dev = qdev_create(NULL, "virtio-ccw-bridge"); > > + qdev_init_nofail(dev); > > + > > + /* Create bus on bridge device */ > > + bus = qbus_create(TYPE_VIRTIO_CCW_BUS, dev, "virtio-ccw"); > > + cbus = DO_UPCAST(VirtioCcwBus, bus, bus); > > + > > + /* Enable hotplugging */ > > + bus->allow_hotplug = 1; > > + > > + qemu_register_reset(virtio_ccw_reset_subchannels, cbus); > > Please use qdev device-reset and bus-reset callbacks instead of this. Will do for the next version. > > In particular, when writing the status you should call > qdev_reset_all(DEVICE(sch)), and whatever state should be reset will > have to be cleared by the device-reset callback of SubchDev, including > calling virtio_reset. With "writing the status" you mean "the guest sets the status to 0", right? > > Everything else will be cleared instead by the bus-reset callback of > virtio-ccw-bus, similar to what you are doing in > virtio_ccw_reset_subchannels. Looking at the reset handler, css_reset() is a bit oddly placed, as it doesn't really have anything to do with virtio-ccw; virtio-ccw is just the only current creator of channel subsystem images. I'll try to come up with a better model. > > Paolo > > > > + return cbus; > > +} > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html