Re: Balloon driver?

Arnd Bergmann
2007-06-06T16:38:28Z

On Wednesday 06 June 2007, Carsten Otte wrote:
> Dor Laor wrote:
>
> > 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.