aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/uio/Kconfig
diff options
context:
space:
mode:
authorMichael S. Tsirkin <mst@redhat.com>2009-07-20 03:29:34 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2009-09-15 12:50:48 -0400
commitccb86a6907c9ba7b5be5f521362fc308e80bed34 (patch)
treee10f409f582a50243124d9b8bf38b2ec8be8d5ac /drivers/uio/Kconfig
parenta56af87648054089d89874b52e3fc23ed4f274ad (diff)
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>
Diffstat (limited to 'drivers/uio/Kconfig')
-rw-r--r--drivers/uio/Kconfig10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/uio/Kconfig b/drivers/uio/Kconfig
index 45200fd6853..8aa1955f35e 100644
--- a/drivers/uio/Kconfig
+++ b/drivers/uio/Kconfig
@@ -84,4 +84,14 @@ config UIO_SERCOS3
84 84
85 If you compile this as a module, it will be called uio_sercos3. 85 If you compile this as a module, it will be called uio_sercos3.
86 86
87config UIO_PCI_GENERIC
88 tristate "Generic driver for PCI 2.3 and PCI Express cards"
89 depends on PCI
90 default n
91 help
92 Generic driver that you can bind, dynamically, to any
93 PCI 2.3 compliant and PCI Express card. It is useful,
94 primarily, for virtualization scenarios.
95 If you compile this as a module, it will be called uio_pci_generic.
96
87endif 97endif