From: Rusty Russell Date: Mon, 22 Oct 2007 01:03:40 +0000 (+1000) Subject: Virtio helper routines for a descriptor ringbuffer implementation X-Git-Tag: v2.6.24-rc1~28^2~10 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0a8a69dd77ddbd4513b21363021ecde7e1025502;p=pandora-kernel.git 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 Cc: Dor Laor --- Reading git-diff-tree failed