On 09/17/2012 04:42 PM, Paolo Bonzini wrote:
Il 17/09/2012 12:00, Evgeny Voevodin ha scritto:
Virtio back-end devices can be plugged into both transports:
VIRTIO_PCI and VIRTIO_MMIO. In order to choose the desired
transport we have a property "transport" in every back-end
state struct. By specifying -device virtio-blk-pci user chooses
VIRTIO_PCI transport and "transport" property is set automatically.
But in order to provide full control to user we need to have
"transport" property available to be set through command line:
-device virtio-pci,id=virtio-pci.0
-device virtio-blk,transport=virtio-pci.0,...
What's the difference between this and "bus"? i.e.
-device virtio-pci,id=virtio-pci-0
-device virtio-blk,bus=virtio-pci-0.0,...
Paolo
The difference is that with "transport" I used a linked list like, say,
bdrv_states in block.c.
It's much simpler then use buses. Also I was planning to use a <link>.
In this approach buses are used only to reflect hierarchy of devices in
emulator manager.
And yes, cover letter contains quite misleading information because
attach to transport
is based on a list of links, not on buses. Sorry, I forgot that when
wrote the cover.
--
Kind regards,
Evgeny Voevodin,
Technical Leader,
Mobile Group,
Samsung Moscow Research Center,
e-mail: e.voevo...@samsung.com