>> > Now that more platforms are joining the KVM wagon, we should define a >> > common bus. PCI was a overkill anyway - its irq are shared and we don't >> > have to use its io/mmio areas. >> > Do you guys have something to start with? >> We do have something basic, our vdev bus. The bad thing is, it is >> platform specific. I really prefer to aim for an idea that Arnd came >> up with when discussing this issue: >> We could define a virtual device bus. > >I guess, more specifically, you mean a bus_type in Linux terminology. > >> Now functionality like device drivers can sit on top of the >> abstraction layer. We need to invent a similar abstraction on the >> hypervisor side, which is a tricky task indeed. >> The best approach into this direction I have seen so far is not our >> own vdev thing but Rusty's virtio infrastructure. That's what I think >> I would start with. > >So you suggest having a PCI driver that exports a virtio device for >each PCI device it matches? Sounds fine to me, though it goes beyond >what I think Rusty had in mind with his latest set of virtio >patches. > >Note that contrary to what I may have said previously, I think that >such a virtio device on top of a PCI device need not use any PCI >specific APIs (readl/writel, pci_map_*, ioremap_, pci_dev->irq, ...) >but could do all of that by means of a hypercall interface. The >only real point we want to use PCI for is to find out about the >existence of a device and to get an identifier that gets passed >to the hypercalls.
This is exactly our current approach. This is the way the current pv network device is implemented and also the windows balloon driver. Currently there is a small advantage of using io port/mmio because there is no need to define additional shared page data, but that's negligible. ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel