[PATCH 00/02][RESEND] virtio: Virtio platform driver

Rusty Russell
2011-06-22T02:09:04Z

On Tue, 21 Jun 2011 19:26:05 +0900, Magnus Damm <magnus.damm at gmail.com>
wrote:
> virtio: Virtio platform driver
>
> [PATCH 01/02] virtio: Break out lguest virtio code to virtio_lguest.c
> [PATCH 02/02] virtio: Add virtio platform driver
>
> These patches add a virtio platform driver to the Linux kernel. This
> platform driver has the same role as the virtio_pci driver, but instead
> of building on top of emulated PCI this driver is making use of the
> platform bus together with driver specific callbacks.
>
> The virtio platform driver can be seen as a reusable implementation of
> the lguest virtio driver - in fact, most code is just taken directly
> from lguest_device.c and reworked to fit the platform device driver
> abstraction. The first patch breaks out code that can be shared between
> lguest and the virtio platform driver.
>
> This code has been used to implement a mailbox interface between the
> two processor cores included in the sh7372 SoC. The sh7372 contains
> one ARM Cortex-A8 and one SH4AL-DSP core, and in the prototype two
> Linux kernels are running in parallel on the same chip. Virtio serves
> as a communication link between the two cores.

OK, this seems pretty neat, but I have three questions before we nail this
down (note that lguest doesn't have an ABI, so we can change it as much
as we want).

1) The lguest bus is dumb, and I never thought about device hotplug, for
   example.  It would be nice to handle that somehow.  Is it possible?
   Is this something you care about?

2) Have you seen the '[RFC 0/8] Introducing a generic AMP/IPC framework'
   patches?  Seems to overlap with what you're doing after these patches.

3) The S/390 layout is identical, except their struct kvm_vqconfig is a
   bit different.  Perhaps we should just use theirs (they use a 64-bit
   token instead of an interrupt number).

Christian?

Thanks,
Rusty.