]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | # |
2 | # PCI configuration | |
3 | # | |
5f8fc432 BS |
4 | |
5 | source "drivers/pci/pcie/Kconfig" | |
6 | ||
3a9ad0b4 | 7 | config PCI_BUS_ADDR_T_64BIT |
e02a653e | 8 | def_bool y if (ARCH_DMA_ADDR_T_64BIT || 64BIT) |
3a9ad0b4 YL |
9 | depends on PCI |
10 | ||
1da177e4 LT |
11 | config PCI_MSI |
12 | bool "Message Signaled Interrupts (MSI and MSI-X)" | |
13 | depends on PCI | |
38b6a1cf | 14 | select GENERIC_MSI_IRQ |
1da177e4 LT |
15 | help |
16 | This allows device drivers to enable MSI (Message Signaled | |
17 | Interrupts). Message Signaled Interrupts enable a device to | |
18 | generate an interrupt using an inbound Memory Write on its | |
19 | PCI bus instead of asserting a device IRQ pin. | |
20 | ||
309e57df MW |
21 | Use of PCI MSI interrupts can be disabled at kernel boot time |
22 | by using the 'pci=nomsi' option. This disables MSI for the | |
23 | entire system. | |
24 | ||
3196180a | 25 | If you don't know what to do here, say Y. |
1da177e4 | 26 | |
3878eaef | 27 | config PCI_MSI_IRQ_DOMAIN |
f8430eae | 28 | def_bool ARC || ARM || ARM64 || X86 |
3878eaef JL |
29 | depends on PCI_MSI |
30 | select GENERIC_MSI_IRQ_DOMAIN | |
31 | ||
03ea2263 RD |
32 | config PCI_QUIRKS |
33 | default y | |
34 | bool "Enable PCI quirk workarounds" if EXPERT | |
35 | depends on PCI | |
36 | help | |
37 | This enables workarounds for various PCI chipset bugs/quirks. | |
38 | Disable this only if your target machine is unaffected by PCI | |
39 | quirks. | |
40 | ||
1da177e4 LT |
41 | config PCI_DEBUG |
42 | bool "PCI Debugging" | |
43 | depends on PCI && DEBUG_KERNEL | |
44 | help | |
45 | Say Y here if you want the PCI core to produce a bunch of debug | |
46 | messages to the system log. Select this if you are having a | |
47 | problem with PCI support and want to see more of what is going on. | |
48 | ||
49 | When in doubt, say N. | |
50 | ||
b07f2ebc YL |
51 | config PCI_REALLOC_ENABLE_AUTO |
52 | bool "Enable PCI resource re-allocation detection" | |
53 | depends on PCI | |
ad581f86 | 54 | depends on PCI_IOV |
b07f2ebc YL |
55 | help |
56 | Say Y here if you want the PCI core to detect if PCI resource | |
57 | re-allocation needs to be enabled. You can always use pci=realloc=on | |
ad581f86 SES |
58 | or pci=realloc=off to override it. It will automatically |
59 | re-allocate PCI resources if SR-IOV BARs have not been allocated by | |
60 | the BIOS. | |
b07f2ebc YL |
61 | |
62 | When in doubt, say N. | |
63 | ||
c70e0d9d CW |
64 | config PCI_STUB |
65 | tristate "PCI Stub driver" | |
66 | depends on PCI | |
67 | help | |
68 | Say Y or M here if you want be able to reserve a PCI device | |
69 | when it is going to be assigned to a guest operating system. | |
70 | ||
71 | When in doubt, say N. | |
72 | ||
956a9202 RW |
73 | config XEN_PCIDEV_FRONTEND |
74 | tristate "Xen PCI Frontend" | |
75 | depends on PCI && X86 && XEN | |
956a9202 | 76 | select PCI_XEN |
fce263c1 | 77 | select XEN_XENBUS_FRONTEND |
956a9202 RW |
78 | default y |
79 | help | |
80 | The PCI device frontend driver allows the kernel to import arbitrary | |
81 | PCI devices from a PCI backend to support PCI driver domains. | |
82 | ||
8b955b0d EB |
83 | config HT_IRQ |
84 | bool "Interrupts on hypertransport devices" | |
85 | default y | |
2f600025 | 86 | depends on PCI && X86_LOCAL_APIC |
8b955b0d EB |
87 | help |
88 | This allows native hypertransport devices to use interrupts. | |
89 | ||
90 | If unsure say Y. | |
d1b054da | 91 | |
db3c33c6 JR |
92 | config PCI_ATS |
93 | bool | |
94 | ||
35ff9477 J |
95 | config PCI_ECAM |
96 | bool | |
97 | ||
714fe383 TG |
98 | config PCI_LOCKLESS_CONFIG |
99 | bool | |
100 | ||
d1b054da YZ |
101 | config PCI_IOV |
102 | bool "PCI IOV support" | |
103 | depends on PCI | |
db3c33c6 | 104 | select PCI_ATS |
d1b054da YZ |
105 | help |
106 | I/O Virtualization is a PCI feature supported by some devices | |
107 | which allows them to create virtual devices which share their | |
108 | physical resources. | |
109 | ||
110 | If unsure, say N. | |
204d49a5 | 111 | |
c320b976 JR |
112 | config PCI_PRI |
113 | bool "PCI PRI support" | |
c54420d3 | 114 | depends on PCI |
c320b976 JR |
115 | select PCI_ATS |
116 | help | |
117 | PRI is the PCI Page Request Interface. It allows PCI devices that are | |
118 | behind an IOMMU to recover from page faults. | |
119 | ||
120 | If unsure, say N. | |
121 | ||
086ac11f JR |
122 | config PCI_PASID |
123 | bool "PCI PASID support" | |
124 | depends on PCI | |
125 | select PCI_ATS | |
126 | help | |
127 | Process Address Space Identifiers (PASIDs) can be used by PCI devices | |
128 | to access more than one IO address space at the same time. To make | |
129 | use of this feature an IOMMU is required which also supports PASIDs. | |
130 | Select this option if you have such an IOMMU and want to compile the | |
131 | driver for it into your kernel. | |
132 | ||
133 | If unsure, say N. | |
134 | ||
8a226e00 RD |
135 | config PCI_LABEL |
136 | def_bool y if (DMI || ACPI) | |
137 | select NLS | |
45361a4f | 138 | |
4daace0d JO |
139 | config PCI_HYPERV |
140 | tristate "Hyper-V PCI Frontend" | |
141 | depends on PCI && X86 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && X86_64 | |
142 | help | |
143 | The PCI device frontend driver allows the kernel to import arbitrary | |
144 | PCI devices from a PCI backend to support PCI driver domains. | |
145 | ||
30b5b880 | 146 | source "drivers/pci/hotplug/Kconfig" |
950bf638 | 147 | source "drivers/pci/dwc/Kconfig" |
45361a4f | 148 | source "drivers/pci/host/Kconfig" |
5e8cb403 | 149 | source "drivers/pci/endpoint/Kconfig" |
080b47de | 150 | source "drivers/pci/switch/Kconfig" |