On Tue, Dec 18, 2012 at 12:30:20PM +0100, KONRAD Frédéric wrote: > On 18/12/2012 12:01, Michael S. Tsirkin wrote: > >On Tue, Dec 18, 2012 at 10:33:37AM +0000, Peter Maydell wrote: > >>On 17 December 2012 15:45, Michael S. Tsirkin <m...@redhat.com> wrote: > >>>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? > >>(a) the current code is really not very nice because it's not > >>actually a proper set of QOM/qdev devices > >>(b) unlike PCI, you can't create sysbus devices on the > >>command line, because they don't correspond to a user > >>pluggable bit of hardware. We don't want users to have to know > >>an address and IRQ number for each virtio-mmio device (especially > >>since these are board specific); instead the board can create > >>and wire up transport devices wherever is suitable, and the > >>user just creates the backend (which is plugged into the virtio bus). > >> > >>-- PMM > >This is what I am saying: create your own bus and put > >your devices there. Allocate resources when you init > >a device. > > > >Instead you seem to want to expose a virtio device as two devices to > >user - if true this is not reasonable. > > > The modifications will be transparent to the user, as we will keep > virtio-x-pci devices.
So there are three ways to add virtio pci devices now. Legacy -device virtio-net-pci, legacy legacy -net nic.model=virtio and the new one with two devices. If yes it's not transparent, it's user visible. Or did I misunderstand? Look we can have a virtio network device on a PCI bus. A very similar device can be created on XXX bus, and we can and do share a lot of code. This makes it two devices? Why not 4? One for TX one for RX one for control one for PCI. I hope I'm not giving anyone ideas ... -- MST