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>
Tento commit je obsažen v:
@@ -1,3 +1,8 @@
|
||||
# Virtio always gets selected by whoever wants it.
|
||||
config VIRTIO
|
||||
bool
|
||||
|
||||
# Similarly the virtio ring implementation.
|
||||
config VIRTIO_RING
|
||||
bool
|
||||
depends on VIRTIO
|
||||
|
Odkázat v novém úkolu
Zablokovat Uživatele