xref: /linux/drivers/pci/Kconfig (revision 4413e16d9d21673bb5048a2e542f1aaa00015c2e)
1#
2# PCI configuration
3#
4config ARCH_SUPPORTS_MSI
5	bool
6
7config PCI_MSI
8	bool "Message Signaled Interrupts (MSI and MSI-X)"
9	depends on PCI
10	depends on ARCH_SUPPORTS_MSI
11	help
12	   This allows device drivers to enable MSI (Message Signaled
13	   Interrupts).  Message Signaled Interrupts enable a device to
14	   generate an interrupt using an inbound Memory Write on its
15	   PCI bus instead of asserting a device IRQ pin.
16
17	   Use of PCI MSI interrupts can be disabled at kernel boot time
18	   by using the 'pci=nomsi' option.  This disables MSI for the
19	   entire system.
20
21	   If you don't know what to do here, say Y.
22
23config PCI_DEBUG
24	bool "PCI Debugging"
25	depends on PCI && DEBUG_KERNEL
26	help
27	  Say Y here if you want the PCI core to produce a bunch of debug
28	  messages to the system log.  Select this if you are having a
29	  problem with PCI support and want to see more of what is going on.
30
31	  When in doubt, say N.
32
33config PCI_REALLOC_ENABLE_AUTO
34	bool "Enable PCI resource re-allocation detection"
35	depends on PCI
36	help
37	  Say Y here if you want the PCI core to detect if PCI resource
38	  re-allocation needs to be enabled. You can always use pci=realloc=on
39          or pci=realloc=off to override it.  Note this feature is a no-op
40          unless PCI_IOV support is also enabled; in that case it will
41          automatically re-allocate PCI resources if SR-IOV BARs have not
42          been allocated by the BIOS.
43
44	  When in doubt, say N.
45
46config PCI_STUB
47	tristate "PCI Stub driver"
48	depends on PCI
49	help
50	  Say Y or M here if you want be able to reserve a PCI device
51	  when it is going to be assigned to a guest operating system.
52
53	  When in doubt, say N.
54
55config XEN_PCIDEV_FRONTEND
56        tristate "Xen PCI Frontend"
57        depends on PCI && X86 && XEN
58        select HOTPLUG
59        select PCI_XEN
60	select XEN_XENBUS_FRONTEND
61        default y
62        help
63          The PCI device frontend driver allows the kernel to import arbitrary
64          PCI devices from a PCI backend to support PCI driver domains.
65
66config HT_IRQ
67	bool "Interrupts on hypertransport devices"
68	default y
69	depends on PCI && X86_LOCAL_APIC && X86_IO_APIC
70	help
71	   This allows native hypertransport devices to use interrupts.
72
73	   If unsure say Y.
74
75config PCI_ATS
76	bool
77
78config PCI_IOV
79	bool "PCI IOV support"
80	depends on PCI
81	select PCI_ATS
82	help
83	  I/O Virtualization is a PCI feature supported by some devices
84	  which allows them to create virtual devices which share their
85	  physical resources.
86
87	  If unsure, say N.
88
89config PCI_PRI
90	bool "PCI PRI support"
91	depends on PCI
92	select PCI_ATS
93	help
94	  PRI is the PCI Page Request Interface. It allows PCI devices that are
95	  behind an IOMMU to recover from page faults.
96
97	  If unsure, say N.
98
99config PCI_PASID
100	bool "PCI PASID support"
101	depends on PCI
102	select PCI_ATS
103	help
104	  Process Address Space Identifiers (PASIDs) can be used by PCI devices
105	  to access more than one IO address space at the same time. To make
106	  use of this feature an IOMMU is required which also supports PASIDs.
107	  Select this option if you have such an IOMMU and want to compile the
108	  driver for it into your kernel.
109
110	  If unsure, say N.
111
112config PCI_IOAPIC
113	tristate "PCI IO-APIC hotplug support" if X86
114	depends on PCI
115	depends on ACPI
116	depends on HOTPLUG
117	default !X86
118
119config PCI_LABEL
120	def_bool y if (DMI || ACPI)
121	select NLS
122