On 5 July 2016 at 15:41, Tom Hanson <thomas.han...@linaro.org> wrote: > As noted above, virtio-scsi-pci uses a bus address as part of the > internal ID string while virtio-scsi-device does not. > > * Is this difference intentional?
Probably not. > * Are they intended to support different use cases? If so, what? virtio-scsi-device is a "virtio backend" (other backends include char, block and net devices), which plugs into a "virtio bus". Virtio buses are provided by "virtio transports", which can be PCI, s390 CCW, or virtio-mmio, and any particular virtio bus has either 0 or 1 virtio backends on it. The general idea is that this is a clean-ish separation between the "what is this virtio device doing" and "how exactly do you access it". virtio-scsi-pci is one of the family of virtio-*-pci devices which combine a virtio-pci transport and a virtio-foo backend in one convenient package -- we provide these (a) for backward compatibility with old command lines etc from before we made the backend/transport split and (b) for convenience since the command lines are shorter than if you specify the transport and backend separately manually. (Note that a virtio-pci transport is a pci device, not a pci bus -- it plugs into a pci bus on one and has a virtio-bus on the other.) thanks -- PMM