linux/drivers
Michael S. Tsirkin ccb86a6907 uio: add generic driver for PCI 2.3 devices
This adds a generic uio driver that can bind to any PCI device.  First
user will be virtualization where a qemu userspace process needs to give
guest OS access to the device.

Interrupts are handled using the Interrupt Disable bit in the PCI
command register and Interrupt Status bit in the PCI status register.
All devices compliant to PCI 2.3 (circa 2002) and all compliant PCI
Express devices should support these bits.  Driver detects this support,
and won't bind to devices which do not support the Interrupt Disable Bit
in the command register.

It's expected that more features of interest to virtualization will be
added to this driver in the future. Possibilities are: mmap for device
resources, MSI/MSI-X, eventfd (to interface with kvm), iommu.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Chris Wright <chrisw@redhat.com>
Signed-off-by: Hans J. Koch <hjk@linutronix.de>
Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-09-15 09:50:48 -07:00
..
accessibility
acpi
amba Merge branches 'arm', 'at91', 'bcmring', 'ep93xx', 'mach-types', 'misc' and 'w90x900' into devel 2009-09-12 12:01:34 +01:00
ata
atm
auxdisplay
base driver-core: move dma-coherent.c from kernel to driver/base 2009-09-15 09:50:47 -07:00
block driver model: constify attribute groups 2009-09-15 09:50:47 -07:00
bluetooth
cdrom
char mem_class: fix bug 2009-09-15 09:50:47 -07:00
clocksource
connector
cpufreq
cpuidle
crypto
dca
dio
dma at_hdmac: Rework suspend_late()/resume_early() 2009-09-14 20:27:00 +02:00
edac EDAC, AMD: decode FR MCEs 2009-09-14 19:01:37 +02:00
eisa
firewire driver model: constify attribute groups 2009-09-15 09:50:47 -07:00
firmware driver model: constify attribute groups 2009-09-15 09:50:47 -07:00
gpio
gpu
hid Merge branches 'upstream', 'upstream-fixes' and 'debugfs' into for-linus 2009-09-13 20:09:41 +02:00
hwmon
i2c
ide Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev 2009-09-11 16:38:33 -07:00
idle
ieee1394
ieee802154
infiniband driver model: constify attribute groups 2009-09-15 09:50:47 -07:00
input driver model: constify attribute groups 2009-09-15 09:50:47 -07:00
isdn
leds
lguest
macintosh
mca
md Merge branch 'for-2.6.32' of git://git.kernel.dk/linux-2.6-block 2009-09-14 17:55:15 -07:00
media Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2009-09-14 10:37:28 -07:00
memstick
message Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-09-14 17:53:36 -07:00
mfd
misc driver model: constify attribute groups 2009-09-15 09:50:47 -07:00
mmc driver model: constify attribute groups 2009-09-15 09:50:47 -07:00
mtd driver model: constify attribute groups 2009-09-15 09:50:47 -07:00
net Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2009-09-14 17:48:14 -07:00
nubus
of
oprofile
parisc
parport
pci Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2009-09-14 17:56:51 -07:00
pcmcia
platform hp-wmi: Switch driver to dev_pm_ops 2009-09-14 20:26:59 +02:00
pnp
power
pps
ps3
rapidio
regulator
rtc
s390 driver model: constify attribute groups 2009-09-15 09:50:47 -07:00
sbus
scsi driver model: constify attribute groups 2009-09-15 09:50:47 -07:00
serial Merge branch 'master' into devel 2009-09-12 12:04:37 +01:00
sh
sn
spi Merge branch 'master' into devel 2009-09-12 12:04:37 +01:00
ssb
staging Merge branch 'for-2.6.32' of git://git.kernel.dk/linux-2.6-block 2009-09-14 17:55:15 -07:00
tc
telephony
thermal
uio uio: add generic driver for PCI 2.3 devices 2009-09-15 09:50:48 -07:00
usb driver model: constify attribute groups 2009-09-15 09:50:47 -07:00
uwb driver model: constify attribute groups 2009-09-15 09:50:47 -07:00
video Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm 2009-09-14 17:48:14 -07:00
virtio
vlynq
w1
watchdog
xen
zorro
Kconfig
Makefile