On 04.05.2012 07:41, Evgeny Voevodin wrote:
On 03.05.2012 16:14, 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"?

-- PMM


Actually, the only necessity to have a bridge device is to count amount
of transport devices. Amount of transport devices we need to know because
we want to specify names to transport buses (virtio-mmio.0,
virtio-mmio.1, ...).
If there is a way to find out amount of transport devices on sysbus (and
on pci bus)
we don't need bridge device.
Maybe, there is also another way to specify bus names instead of just
get parent bus name
and add transport device's index as a tail.


Ok, seems that we don't need that bridge device. Each transport device
can run through all childs of parent bus and look if they have created virtio bus and then specify appropriate name to its virtio bus.

--
Kind regards,
Evgeny Voevodin,
Leading Software Engineer,
ASWG, Moscow R&D center, Samsung Electronics
e-mail: e.voevo...@samsung.com

Reply via email to