Skip to content

Commit

Permalink
virtio: Add platform bus driver for memory mapped virtio device
Browse files Browse the repository at this point in the history
This patch, based on virtio PCI driver, adds support for memory
mapped (platform) virtio device. This should allow environments
like qemu to use virtio-based block & network devices even on
platforms without PCI support.

One can define and register a platform device which resources
will describe memory mapped control registers and "mailbox"
interrupt. Such device can be also instantiated using the Device
Tree node with compatible property equal "virtio,mmio".

Cc: Anthony Liguori <aliguori@us.ibm.com>
Cc: Michael S.Tsirkin <mst@redhat.com>
Signed-off-by: Pawel Moll <pawel.moll@arm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
  • Loading branch information
Pawel Moll authored and Rusty Russell committed Nov 2, 2011
1 parent 005b20a commit edfd52e
Show file tree
Hide file tree
Showing 5 changed files with 619 additions and 0 deletions.
17 changes: 17 additions & 0 deletions Documentation/devicetree/bindings/virtio/mmio.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
* virtio memory mapped device

See http://ozlabs.org/~rusty/virtio-spec/ for more details.

Required properties:

- compatible: "virtio,mmio" compatibility string
- reg: control registers base address and size including configuration space
- interrupts: interrupt generated by the device

Example:

virtio_block@3000 {
compatible = "virtio,mmio";
reg = <0x3000 0x100>;
interrupts = <41>;
}
11 changes: 11 additions & 0 deletions drivers/virtio/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,15 @@ config VIRTIO_BALLOON

If unsure, say M.

config VIRTIO_MMIO
tristate "Platform bus driver for memory mapped virtio devices (EXPERIMENTAL)"
depends on EXPERIMENTAL
select VIRTIO
select VIRTIO_RING
---help---
This drivers provides support for memory mapped virtio
platform device driver.

If unsure, say N.

endmenu
1 change: 1 addition & 0 deletions drivers/virtio/Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
obj-$(CONFIG_VIRTIO) += virtio.o
obj-$(CONFIG_VIRTIO_RING) += virtio_ring.o
obj-$(CONFIG_VIRTIO_MMIO) += virtio_mmio.o
obj-$(CONFIG_VIRTIO_PCI) += virtio_pci.o
obj-$(CONFIG_VIRTIO_BALLOON) += virtio_balloon.o
Loading

0 comments on commit edfd52e

Please sign in to comment.