1
linux/drivers
Rusty Russell 0a8a69dd77 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>
2007-10-23 15:49:55 +10:00
..
acorn/char
acpi Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-10-19 20:36:17 -07:00
amba
ata [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
atm Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
auxdisplay
base memory hotplug: rearrange memory hotplug notifier 2007-10-22 08:13:17 -07:00
block Block driver using virtio. 2007-10-23 15:49:54 +10:00
bluetooth [Bluetooth] Add generic driver for Bluetooth USB devices 2007-10-22 02:59:46 -07:00
cdrom Use helpers to obtain task pid in printks 2007-10-19 11:53:43 -07:00
char Virtio console driver 2007-10-23 15:49:55 +10:00
clocksource
connector
cpufreq
cpuidle
crypto
dca
dio
dma I/OAT: Add completion callback for async_tx interface use 2007-10-18 14:37:32 -07:00
edac NULL terminate the pci_device_ids in pasemi_edac 2007-10-19 11:53:56 -07:00
eisa
fc4
firewire firewire: fw-ohci: shut up a superfluous compiler warning 2007-10-22 19:48:56 +02:00
firmware define global BIT macro 2007-10-19 11:53:42 -07:00
hid changed email 2007-10-20 00:47:32 +02:00
hwmon Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-10-19 20:36:17 -07:00
i2c typo fixes 2007-10-20 01:34:40 +02:00
ide [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
ieee1394 [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
infiniband [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2007-10-22 19:29:58 -07:00
isdn Spelling fix: explicitly 2007-10-19 23:22:55 +02:00
kvm Consolidate host virtualization support under Virtualization menu 2007-10-23 15:49:47 +10:00
leds fix typo "sort" -> "short" 2007-10-20 01:55:58 +02:00
lguest Boot with virtual == physical to get closer to native Linux. 2007-10-23 15:49:54 +10:00
macintosh Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-10-19 20:36:17 -07:00
mca
md [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
media Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb 2007-10-22 19:20:22 -07:00
message Convert files to UTF-8 and some cleanups 2007-10-19 23:21:04 +02:00
mfd typo fixes 2007-10-20 01:34:40 +02:00
misc typo fixes 2007-10-20 01:34:40 +02:00
mmc [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
mtd typo fixes 2007-10-20 01:34:40 +02:00
net Net driver using virtio 2007-10-23 15:49:54 +10:00
nubus
of
oprofile
parisc
parport sysctl: parport remove binary paths 2007-10-18 14:37:23 -07:00
pci intel-iommu sg chaining support 2007-10-22 08:13:19 -07:00
pcmcia remove asm/bitops.h includes 2007-10-19 11:53:41 -07:00
pnp
power Merge git://git.infradead.org/battery-2.6 2007-10-22 19:20:52 -07:00
ps3 remove asm/bitops.h includes 2007-10-19 11:53:41 -07:00
rapidio
rtc typo fixes 2007-10-20 01:34:40 +02:00
s390 [S390] struct class_device -> struct device conversion. 2007-10-22 12:52:48 +02:00
sbus vfc_dev conversion to mutex: fallout 2007-10-20 15:04:06 -07:00
scsi [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
serial Blackfin serial driver Kconfig: depend on DMA not being enabled rather than a specific DMA size 2007-10-21 22:30:01 +08:00
sh
sn
spi Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
ssb
tc
telephony
uio
usb [SG] Update drivers to use sg helpers 2007-10-22 21:19:53 +02:00
video Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-10-19 20:36:17 -07:00
virtio Virtio helper routines for a descriptor ringbuffer implementation 2007-10-23 15:49:55 +10:00
w1 Add missing newlines to some uses of dev_<level> messages 2007-10-18 14:37:28 -07:00
watchdog [POWERPC] Update device tree binding for mpc5200 gpt 2007-10-21 12:42:55 -06:00
xen Add missing newlines to some uses of dev_<level> messages 2007-10-18 14:37:28 -07:00
zorro Convert files to UTF-8 and some cleanups 2007-10-19 23:21:04 +02:00
Kconfig Virtio interface 2007-10-23 15:49:54 +10:00
Makefile Virtio interface 2007-10-23 15:49:54 +10:00