Skip to content

virtio: Virtio platform driver

Magnus Damm linux-s390 linux-sh lkml virtualization 1 version In review

Get series with b4
b4 am 20110310070541.27327.52089.sendpatchset@t400s

Versions newest first

  1. v1 Latest2 patches 8 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/2virtio: Break out lguest virtio code to virtio_lguest.carch/x86/lguest/Kconfig drivers/lguest/lguest_device.c drivers/virtio/Kconfig +4 more+258 -2070 replies
1/2virtio: Break out lguest virtio code to virtio_lguest.carch/x86/lguest/Kconfig drivers/lguest/lguest_device.c drivers/virtio/Kconfig +4 more+258 -2070 replies
2/2virtio: Add virtio platform driverdrivers/virtio/Kconfig drivers/virtio/Makefile drivers/virtio/virtio_platform.c +1 more+306 -00 replies
2/2virtio: Add virtio platform driverdrivers/virtio/Kconfig drivers/virtio/Makefile drivers/virtio/virtio_platform.c +1 more+306 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 00/02] virtio: Virtio platform driver

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.

Tested on the SH architecture, but should work on any architecture.

---

 arch/x86/lguest/Kconfig          |    1 
 drivers/lguest/lguest_device.c   |  209 ----------------------------
 drivers/virtio/Kconfig           |   13 +
 drivers/virtio/Makefile          |    2 
 drivers/virtio/virtio_lguest.c   |  205 ++++++++++++++++++++++++++++
 drivers/virtio/virtio_platform.c |  282 +++++++++++++++++++++++++++++++++++++++
 include/linux/lguest.h           |    1 
 include/linux/lguest_device.h    |   46 ++++++
 include/linux/virtio_platform.h  |   12 +
 9 files changed, 564 insertions(+), 207 deletions(-)