On Mon, Dec 17, 2012 at 06:13:28PM +0100, KONRAD Frédéric wrote: > On 17/12/2012 16:45, Michael S. Tsirkin wrote: > >On Fri, Dec 07, 2012 at 02:32:29PM +0100, fred.kon...@greensocs.com wrote: > >>From: KONRAD Frederic <fred.kon...@greensocs.com> > >> > >>You can clone that from here : > >>git.greensocs.com/home/greensocs/git/qemu_virtio.git virtio_refactoring_v6 > >> > >>The problem with the last RFC v5 was that virtio-blk refactoring broke > >>virtio-blk-pci device ( SEGFAULT ). So I modify this last step to fix that > >>issue. > >> > >>In order to not break anything, I think we have to refactor virtio-pci-blk > >>in a > >>next step then add a supplementary step which clean virtio-blk > >>( eg : fix the cast ). > >> > >>Does it make sense ? > >I am yet to go over the patches but I did try to read > >previous discussion and I am still puzzled about the motivation. One of > >the previous messages mentioned this is to allow virtio-mmio. > Yes, the main goal is to have the choice of the transport device. > > eg : > > -device virtio-pci,id=transport1 -device virtio-scsi,bus=transport1 > > or > > -device virtio-mmio,id=transport1 -device virtio-scsi,bus=transport1 > That's why anthony suggest to create a virtio-bus to connect > transport to device.
If it's an implementation detail, fine. If it's user-visible, I think it's a bad idea. > so all virtio-x devices must be created. And virtio-pci must have a > virtio-bus. > > Then to keep compability with the older version virtio-x-pci must > create virtio-pci and virtio-x. > > > >Is the point to allow virtio-mmio? Why can't virtio-mmio be just > >another bus, like a pci bus, and another binding, like the virtio-pci > >binding? > Do you mean something like creating all virtio device like virtio-mmio-x ? Yes or to be closer to what we do with pci, virtio-x-mmio. > > > >Is the issue that bindings are not devices? > >I'm sending a patchset to use DeviceState as binding pointer - > >will this address the issue? > The issue is that all is linked, and here the virtio-blk refactoring breaks > virtio-blk-pci and virtio-blk-s390 devices as they didn't use QOM. > But the newer version ( V7 ) didn't break anything. No, my question was why is all this useful? > > > >If this was covered but I missed this I'll be thankful for > >pointers if any. > >Thanks, > >