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. Having two struct devices for an actual device is the price to pay for this, but I do think that creating a bus_type for virtio is the logical abstraction and not something we just make up to work around a deficiency in our device reprentation. Arnd <>< ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel