Rusty Russell wrote:
I'm not sure what's best, maybe this can help:On Sat, 2007-09-22 at 12:01 +0200, Arnd Bergmann wrote:On Saturday 22 September 2007, Rusty Russell wrote:But now each virtio device has two "struct device"s, not one. And you've made up a fictional bus to do it. Yet for PCI systems, it really is a PCI device; exposing a second bus to userspace just because we put a layer in our implementation is poor form. Perhaps this is the easiest way of doing it. But it's still wrong.I think it's just a matter of perspective. In the model I'm advocating, the PCI device is not the same as the virtio device but rather a virtio host bridge, very much like USB or SATA works. We could easily have multiple virtio devices behind one PCI device, but since virtual PCI devices are cheap, a one-to-one mapping makes sense for simplicity.This is still retro-justification. The simplest way for PCI systems to represent a virtio device as a PCI device; this makes life easy for any guest OS. I just know we're going to regret this... Rusty. With the virtio_find_driver you need to place all virtio drivers under the same pci device or suggest new mapping. Using Arnd's solution (actually I implemented it for KVM before the new patch set) and 1-1 mapping for pci and virtio devices makes life simpler. Dor. |
_______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization