Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec3d41c4 authored by Rusty Russell's avatar Rusty Russell
Browse files

Virtio interface



This attempts to implement a "virtual I/O" layer which should allow
common drivers to be efficiently used across most virtual I/O
mechanisms.  It will no-doubt need further enhancement.

The virtio drivers add buffers to virtio queues; as the buffers are consumed
the driver "interrupt" callbacks are invoked.

There is also a generic implementation of config space which drivers can query
to get setup information from the host.

Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
Cc: Dor Laor <dor.laor@qumranet.com>
Cc: Arnd Bergmann <arnd@arndb.de>
parent 47436aa4
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -93,4 +93,6 @@ source "drivers/auxdisplay/Kconfig"
source "drivers/kvm/Kconfig"

source "drivers/uio/Kconfig"

source "drivers/virtio/Kconfig"
endmenu
+1 −0
Original line number Diff line number Diff line
@@ -91,3 +91,4 @@ obj-$(CONFIG_HID) += hid/
obj-$(CONFIG_PPC_PS3)		+= ps3/
obj-$(CONFIG_OF)		+= of/
obj-$(CONFIG_SSB)		+= ssb/
obj-$(CONFIG_VIRTIO)		+= virtio/

drivers/virtio/Kconfig

0 → 100644
+3 −0
Original line number Diff line number Diff line
# Virtio always gets selected by whoever wants it.
config VIRTIO
	bool
+1 −0
Original line number Diff line number Diff line
obj-$(CONFIG_VIRTIO) += virtio.o
+13 −0
Original line number Diff line number Diff line
/* Configuration space parsing helpers for virtio.
 *
 * The configuration is [type][len][... len bytes ...] fields.
 *
 * Copyright 2007 Rusty Russell, IBM Corporation.
 * GPL v2 or later.
 */
#include <linux/err.h>
#include <linux/virtio.h>
#include <linux/virtio_config.h>
#include <linux/bug.h>
#include <asm/system.h>
Loading