summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2007-10-22 11:03:40 +1000
committerRusty Russell <rusty@rustcorp.com.au>2007-10-23 15:49:55 +1000
commit0a8a69dd77ddbd4513b21363021ecde7e1025502 (patch)
treeed6d8f0756835390b4c0d9a172422f2e42a65523 /arch
parentb01d9f2863349b0e041b90c3c86a998ee0fed2b0 (diff)
downloadlinux-0a8a69dd77ddbd4513b21363021ecde7e1025502.tar.gz
linux-0a8a69dd77ddbd4513b21363021ecde7e1025502.tar.bz2
linux-0a8a69dd77ddbd4513b21363021ecde7e1025502.zip
Virtio helper routines for a descriptor ringbuffer implementation
These helper routines supply most of the virtqueue_ops for hypervisors which want to use a ring for virtio. Unlike the previous lguest implementation: 1) The rings are variable sized (2^n-1 elements). 2) They have an unfortunate limit of 65535 bytes per sg element. 3) The page numbers are always 64 bit (PAE anyone?) 4) They no longer place used[] on a separate page, just a separate cacheline. 5) We do a modulo on a variable. We could be tricky if we cared. 6) Interrupts and notifies are suppressed using flags within the rings. Users need only get the ring pages and provide a notify hook (KVM wants the guest to allocate the rings, lguest does it sanely). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Cc: Dor Laor <dor.laor@qumranet.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/lguest/Kconfig1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/x86/lguest/Kconfig b/arch/x86/lguest/Kconfig
index 0fabf87db998..44dccfd845f8 100644
--- a/arch/x86/lguest/Kconfig
+++ b/arch/x86/lguest/Kconfig
@@ -2,6 +2,7 @@ config LGUEST_GUEST
bool "Lguest guest support"
select PARAVIRT
depends on !X86_PAE
+ select VIRTIO_RING
help
Lguest is a tiny in-kernel hypervisor. Selecting this will
allow your kernel to boot under lguest. This option will increase