On 05/03/2012 07:14 AM, Peter Maydell wrote:
On 25 April 2012 06:54, Evgeny Voevodin<e.voevo...@samsung.com>  wrote:
In this patchset refactoring of virtio-mmio layer is made.
Instead of creating virtio-blk-mmio, virtio-net-mmio, etc on the system bus
we create virtio-blk, virtio-net, etc devices on the virtio-transport bus.
To create virtio-transport bus virtio-mmio-transport device provided.
Transport device plugs into virtio-mmio bus.
To create virtio-mmio bus virtio-mmio-bridge device provided.

This seems to me to have one more layer than it needs. Why not just:
  create virtio-blk, virtio-net, etc on the virtio-transport bus
  To create virtio-transport bus, we create a virtio-mmio-transport
  device, and this device is a sysbus device.

ie why do you have separate "virtio-mmio-transport" and
"virtio-mmio-bridge" devices, and two different new buses ("virtio-mmio"
and "virtio-transport") rather than just "virtio-transport"?

I think using a bus won't work. You need to create a VirtioDevice that has a link<VirtioTransport>. I would suggest making VirtioTransport an interface.

Then you can have VirtioPCI inherit from PCIDevice and implement 
VirtioTransport.

Regards,

Anthony Liguori


-- PMM



Reply via email to