]>
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 | ||
1da177e4 LT |
32 | config PCI_DEBUG |
33 | bool "PCI Debugging" | |
34 | depends on PCI && DEBUG_KERNEL | |
35 | help | |
36 | Say Y here if you want the PCI core to produce a bunch of debug | |
37 | messages to the system log. Select this if you are having a | |
38 | problem with PCI support and want to see more of what is going on. | |
39 | ||
40 | When in doubt, say N. | |
41 | ||
b07f2ebc YL |
42 | config PCI_REALLOC_ENABLE_AUTO |
43 | bool "Enable PCI resource re-allocation detection" | |
44 | depends on PCI | |
45 | help | |
46 | Say Y here if you want the PCI core to detect if PCI resource | |
47 | re-allocation needs to be enabled. You can always use pci=realloc=on | |
48 | or pci=realloc=off to override it. Note this feature is a no-op | |
49 | unless PCI_IOV support is also enabled; in that case it will | |
50 | automatically re-allocate PCI resources if SR-IOV BARs have not | |
51 | been allocated by the BIOS. | |
52 | ||
53 | When in doubt, say N. | |
54 | ||
c70e0d9d CW |
55 | config PCI_STUB |
56 | tristate "PCI Stub driver" | |
57 | depends on PCI | |
58 | help | |
59 | Say Y or M here if you want be able to reserve a PCI device | |
60 | when it is going to be assigned to a guest operating system. | |
61 | ||
62 | When in doubt, say N. | |
63 | ||
956a9202 RW |
64 | config XEN_PCIDEV_FRONTEND |
65 | tristate "Xen PCI Frontend" | |
66 | depends on PCI && X86 && XEN | |
956a9202 | 67 | select PCI_XEN |
fce263c1 | 68 | select XEN_XENBUS_FRONTEND |
956a9202 RW |
69 | default y |
70 | help | |
71 | The PCI device frontend driver allows the kernel to import arbitrary | |
72 | PCI devices from a PCI backend to support PCI driver domains. | |
73 | ||
8b955b0d EB |
74 | config HT_IRQ |
75 | bool "Interrupts on hypertransport devices" | |
76 | default y | |
2f600025 | 77 | depends on PCI && X86_LOCAL_APIC |
8b955b0d EB |
78 | help |
79 | This allows native hypertransport devices to use interrupts. | |
80 | ||
81 | If unsure say Y. | |
d1b054da | 82 | |
db3c33c6 JR |
83 | config PCI_ATS |
84 | bool | |
85 | ||
35ff9477 J |
86 | config PCI_ECAM |
87 | bool | |
88 | ||
d1b054da YZ |
89 | config PCI_IOV |
90 | bool "PCI IOV support" | |
91 | depends on PCI | |
db3c33c6 | 92 | select PCI_ATS |
d1b054da YZ |
93 | help |
94 | I/O Virtualization is a PCI feature supported by some devices | |
95 | which allows them to create virtual devices which share their | |
96 | physical resources. | |
97 | ||
98 | If unsure, say N. | |
204d49a5 | 99 | |
c320b976 JR |
100 | config PCI_PRI |
101 | bool "PCI PRI support" | |
c54420d3 | 102 | depends on PCI |
c320b976 JR |
103 | select PCI_ATS |
104 | help | |
105 | PRI is the PCI Page Request Interface. It allows PCI devices that are | |
106 | behind an IOMMU to recover from page faults. | |
107 | ||
108 | If unsure, say N. | |
109 | ||
086ac11f JR |
110 | config PCI_PASID |
111 | bool "PCI PASID support" | |
112 | depends on PCI | |
113 | select PCI_ATS | |
114 | help | |
115 | Process Address Space Identifiers (PASIDs) can be used by PCI devices | |
116 | to access more than one IO address space at the same time. To make | |
117 | use of this feature an IOMMU is required which also supports PASIDs. | |
118 | Select this option if you have such an IOMMU and want to compile the | |
119 | driver for it into your kernel. | |
120 | ||
121 | If unsure, say N. | |
122 | ||
8a226e00 RD |
123 | config PCI_LABEL |
124 | def_bool y if (DMI || ACPI) | |
125 | select NLS | |
45361a4f | 126 | |
4daace0d JO |
127 | config PCI_HYPERV |
128 | tristate "Hyper-V PCI Frontend" | |
129 | depends on PCI && X86 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && X86_64 | |
130 | help | |
131 | The PCI device frontend driver allows the kernel to import arbitrary | |
132 | PCI devices from a PCI backend to support PCI driver domains. | |
133 | ||
30b5b880 | 134 | source "drivers/pci/hotplug/Kconfig" |
45361a4f | 135 | source "drivers/pci/host/Kconfig" |