xref: /linux/drivers/pci/Kconfig (revision ff5599816711d2e67da2d7561fd36ac48debd433)
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 PCI_XEN
59	select XEN_XENBUS_FRONTEND
60        default y
61        help
62          The PCI device frontend driver allows the kernel to import arbitrary
63          PCI devices from a PCI backend to support PCI driver domains.
64
65config HT_IRQ
66	bool "Interrupts on hypertransport devices"
67	default y
68	depends on PCI && X86_LOCAL_APIC && X86_IO_APIC
69	help
70	   This allows native hypertransport devices to use interrupts.
71
72	   If unsure say Y.
73
74config PCI_ATS
75	bool
76
77config PCI_IOV
78	bool "PCI IOV support"
79	depends on PCI
80	select PCI_ATS
81	help
82	  I/O Virtualization is a PCI feature supported by some devices
83	  which allows them to create virtual devices which share their
84	  physical resources.
85
86	  If unsure, say N.
87
88config PCI_PRI
89	bool "PCI PRI support"
90	depends on PCI
91	select PCI_ATS
92	help
93	  PRI is the PCI Page Request Interface. It allows PCI devices that are
94	  behind an IOMMU to recover from page faults.
95
96	  If unsure, say N.
97
98config PCI_PASID
99	bool "PCI PASID support"
100	depends on PCI
101	select PCI_ATS
102	help
103	  Process Address Space Identifiers (PASIDs) can be used by PCI devices
104	  to access more than one IO address space at the same time. To make
105	  use of this feature an IOMMU is required which also supports PASIDs.
106	  Select this option if you have such an IOMMU and want to compile the
107	  driver for it into your kernel.
108
109	  If unsure, say N.
110
111config PCI_IOAPIC
112	tristate "PCI IO-APIC hotplug support" if X86
113	depends on PCI
114	depends on ACPI
115	default !X86
116
117config PCI_LABEL
118	def_bool y if (DMI || ACPI)
119	select NLS
120
121source "drivers/pci/host/Kconfig"
122