#
# PCI configuration
#
-config PCI_USE_VECTOR
- bool "Vector-based interrupt indexing (MSI)"
- depends on (X86_LOCAL_APIC && X86_IO_APIC && !X86_64) || IA64
- default n
+config PCI_MSI
+ bool "Message Signaled Interrupts (MSI and MSI-X)"
+ depends on PCI
+ depends on (X86_LOCAL_APIC && X86_IO_APIC) || IA64
+ depends on !XEN
help
- This replaces the current existing IRQ-based index interrupt scheme
- with the vector-base index scheme. The advantages of vector base
- over IRQ base are listed below:
- 1) Support MSI implementation.
- 2) Support future IOxAPIC hotplug
-
- Note that this allows the device drivers to enable MSI, Message
- Signaled Interrupt, on all MSI capable device functions detected.
- Message Signal Interrupt enables an MSI-capable hardware device to
- send an inbound Memory Write on its PCI bus instead of asserting
- IRQ signal on device IRQ pin.
+ This allows device drivers to enable MSI (Message Signaled
+ Interrupts). Message Signaled Interrupts enable a device to
+ generate an interrupt using an inbound Memory Write on its
+ PCI bus instead of asserting a device IRQ pin.
+
+ Use of PCI MSI interrupts can be disabled at kernel boot time
+ by using the 'pci=nomsi' option. This disables MSI for the
+ entire system.
If you don't know what to do here, say N.
-config PCI_LEGACY_PROC
- bool "Legacy /proc/pci interface"
- depends on PCI
- ---help---
- This feature enables a procfs file -- /proc/pci -- that provides a
- summary of PCI devices in the system.
+config PCI_MULTITHREAD_PROBE
+ bool "PCI Multi-threaded probe (EXPERIMENTAL)"
+ depends on PCI && EXPERIMENTAL && BROKEN
+ help
+ Say Y here if you want the PCI core to spawn a new thread for
+ every PCI device that is probed. This can cause a huge
+ speedup in boot times on multiprocessor machines, and even a
+ smaller speedup on single processor machines.
- This feature has been deprecated as of v2.5.53, in favor of using the
- tool lspci(8). This feature may be removed at a future date.
+ But it can also cause lots of bad things to happen. A number
+ of PCI drivers cannot properly handle running in this way,
+ some will just not work properly at all, while others might
+ decide to blow up power supplies with a huge load all at once,
+ so use this option at your own risk.
- lspci can provide the same data, as well as much more. lspci is a part of
- the pci-utils package, which should be installed by your distribution.
- See Documentation/Changes for information on where to get the latest
- version.
+ It is very unwise to use this option if you are not using a
+ boot process that can handle devices being created in any
+ order. A program that can create persistent block and network
+ device names (like udev) is a good idea if you wish to use
+ this option.
- When in doubt, say N.
+ Again, use this option at your own risk, you have been warned!
-config PCI_NAMES
- bool "PCI device name database"
- depends on PCI
- ---help---
- By default, the kernel contains a database of all known PCI device
- names to make the information in /proc/pci, /proc/ioports and
- similar files comprehensible to the user.
+ When in doubt, say N.
- This database increases size of the kernel image by about 80KB. This
- memory is freed after the system boots up if CONFIG_HOTPLUG is not set.
+config PCI_DEBUG
+ bool "PCI Debugging"
+ depends on PCI && DEBUG_KERNEL
+ help
+ Say Y here if you want the PCI core to produce a bunch of debug
+ messages to the system log. Select this if you are having a
+ problem with PCI support and want to see more of what is going on.
- Anyway, if you are building an installation floppy or kernel for an
- embedded system where kernel image size really matters, you can disable
- this feature and you'll get device ID numbers instead of names.
+ When in doubt, say N.
- When in doubt, say Y.
+config HT_IRQ
+ bool "Interrupts on hypertransport devices"
+ default y
+ depends on PCI && X86_LOCAL_APIC && X86_IO_APIC && !XEN
+ help
+ This allows native hypertransport devices to use interrupts.
+ If unsure say Y.