On Thu, 15 Nov 2012 11:32:13 +0100 KONRAD Frédéric <fred.kon...@greensocs.com> wrote:
> For the qtree structure we have eg for virtio block : > > bus: main-system-bus > type System > dev: pcihost, id "" > bus: pci.0 > type PCI > dev: virtio-blk-pci, id "" > ... > My current virtio-ccw layout is: bus: main-system-bus type System dev: virtio-ccw-bridge, id "" bus: virtio-ccw type virtio-ccw-bus dev: virtio-blk-ccw, id "" ... > And it would become : > > bus: main-system-bus > type System > dev: pcihost, id "" > bus: pci.0 > type PCI > dev: virtio-pci, id "" > bus: virtio.0 > type VIRTIO > dev: virtio-blk, id "" > ... > I guess we could have the following for virtio-ccw: bus: main-system-bus type System dev: css, id "" bus: css.fe type ccw dev: virtio-ccw, id "" bus: virtio.0 type virtio dev: virtio-blk, id "" ... IOW, we introduce a channel subsystem (css) analogous to pcihost, have a ccw bus which can hold all kinds of channel devices, introduce a bus per channel subsystem image (here: the virtual css fe) and stick the virtio bus under it. If we want to support passthrough of real channel devices some day, they get their own bus for their channel subsystem (css.0, css.1, ...) and have the devices show up under it. (Just thinking aloud. I'll probably need to play with that idea a bit.) > > > >>>> Is it the right approach ? Do I miss something ? > >>> What of the alias handling? Can this be killed once everything has been > >>> converted? > >> Which alias ? > > The alias stuff in hw/qdev-monitor.c that lets you specify either > > virtio-<type>-<transport> or virtio-<type>. > > > So it would break the alias, we must find a solution for that. I think only virtio-xxx-pci and s390-virtio-xxx need to get backward compatibility; virtio-mmio and virtio-ccw should not need to deal with old interfaces.