Source
14
14
select PCI
15
15
16
16
menuconfig PCI
17
17
bool "PCI support"
18
18
depends on HAVE_PCI
19
19
help
20
20
This option enables support for the PCI local bus, including
21
21
support for PCI-X and the foundations for PCI Express support.
22
22
Say 'Y' here unless you know what you are doing.
23
23
24
+
if PCI
25
+
24
26
config PCI_DOMAINS
25
27
bool
26
28
depends on PCI
27
29
28
30
config PCI_DOMAINS_GENERIC
29
31
bool
30
-
depends on PCI
31
32
select PCI_DOMAINS
32
33
33
34
config PCI_SYSCALL
34
35
bool
35
36
36
37
source "drivers/pci/pcie/Kconfig"
37
38
38
39
config PCI_MSI
39
40
bool "Message Signaled Interrupts (MSI and MSI-X)"
40
-
depends on PCI
41
41
select GENERIC_MSI_IRQ
42
42
help
43
43
This allows device drivers to enable MSI (Message Signaled
44
44
Interrupts). Message Signaled Interrupts enable a device to
45
45
generate an interrupt using an inbound Memory Write on its
46
46
PCI bus instead of asserting a device IRQ pin.
47
47
48
48
Use of PCI MSI interrupts can be disabled at kernel boot time
49
49
by using the 'pci=nomsi' option. This disables MSI for the
50
50
entire system.
52
52
If you don't know what to do here, say Y.
53
53
54
54
config PCI_MSI_IRQ_DOMAIN
55
55
def_bool ARC || ARM || ARM64 || X86
56
56
depends on PCI_MSI
57
57
select GENERIC_MSI_IRQ_DOMAIN
58
58
59
59
config PCI_QUIRKS
60
60
default y
61
61
bool "Enable PCI quirk workarounds" if EXPERT
62
-
depends on PCI
63
62
help
64
63
This enables workarounds for various PCI chipset bugs/quirks.
65
64
Disable this only if your target machine is unaffected by PCI
66
65
quirks.
67
66
68
67
config PCI_DEBUG
69
68
bool "PCI Debugging"
70
-
depends on PCI && DEBUG_KERNEL
69
+
depends on DEBUG_KERNEL
71
70
help
72
71
Say Y here if you want the PCI core to produce a bunch of debug
73
72
messages to the system log. Select this if you are having a
74
73
problem with PCI support and want to see more of what is going on.
75
74
76
75
When in doubt, say N.
77
76
78
77
config PCI_REALLOC_ENABLE_AUTO
79
78
bool "Enable PCI resource re-allocation detection"
80
-
depends on PCI
81
79
depends on PCI_IOV
82
80
help
83
81
Say Y here if you want the PCI core to detect if PCI resource
84
82
re-allocation needs to be enabled. You can always use pci=realloc=on
85
83
or pci=realloc=off to override it. It will automatically
86
84
re-allocate PCI resources if SR-IOV BARs have not been allocated by
87
85
the BIOS.
88
86
89
87
When in doubt, say N.
90
88
91
89
config PCI_STUB
92
90
tristate "PCI Stub driver"
93
-
depends on PCI
94
91
help
95
92
Say Y or M here if you want be able to reserve a PCI device
96
93
when it is going to be assigned to a guest operating system.
97
94
98
95
When in doubt, say N.
99
96
100
97
config PCI_PF_STUB
101
98
tristate "PCI PF Stub driver"
102
-
depends on PCI
103
99
depends on PCI_IOV
104
100
help
105
101
Say Y or M here if you want to enable support for devices that
106
102
require SR-IOV support, while at the same time the PF (Physical
107
103
Function) itself is not providing any actual services on the
108
104
host itself such as storage or networking.
109
105
110
106
When in doubt, say N.
111
107
112
108
config XEN_PCIDEV_FRONTEND
113
109
tristate "Xen PCI Frontend"
114
-
depends on PCI && X86 && XEN
110
+
depends on X86 && XEN
115
111
select PCI_XEN
116
112
select XEN_XENBUS_FRONTEND
117
113
default y
118
114
help
119
115
The PCI device frontend driver allows the kernel to import arbitrary
120
116
PCI devices from a PCI backend to support PCI driver domains.
121
117
122
118
config PCI_ATS
123
119
bool
124
120
126
122
bool
127
123
128
124
config PCI_LOCKLESS_CONFIG
129
125
bool
130
126
131
127
config PCI_BRIDGE_EMUL
132
128
bool
133
129
134
130
config PCI_IOV
135
131
bool "PCI IOV support"
136
-
depends on PCI
137
132
select PCI_ATS
138
133
help
139
134
I/O Virtualization is a PCI feature supported by some devices
140
135
which allows them to create virtual devices which share their
141
136
physical resources.
142
137
143
138
If unsure, say N.
144
139
145
140
config PCI_PRI
146
141
bool "PCI PRI support"
147
-
depends on PCI
148
142
select PCI_ATS
149
143
help
150
144
PRI is the PCI Page Request Interface. It allows PCI devices that are
151
145
behind an IOMMU to recover from page faults.
152
146
153
147
If unsure, say N.
154
148
155
149
config PCI_PASID
156
150
bool "PCI PASID support"
157
-
depends on PCI
158
151
select PCI_ATS
159
152
help
160
153
Process Address Space Identifiers (PASIDs) can be used by PCI devices
161
154
to access more than one IO address space at the same time. To make
162
155
use of this feature an IOMMU is required which also supports PASIDs.
163
156
Select this option if you have such an IOMMU and want to compile the
164
157
driver for it into your kernel.
165
158
166
159
If unsure, say N.
167
160
168
161
config PCI_P2PDMA
169
162
bool "PCI peer-to-peer transfer support"
170
-
depends on PCI && ZONE_DEVICE
163
+
depends on ZONE_DEVICE
171
164
select GENERIC_ALLOCATOR
172
165
help
173
166
Enableѕ drivers to do PCI peer-to-peer transactions to and from
174
167
BARs that are exposed in other devices that are the part of
175
168
the hierarchy where peer-to-peer DMA is guaranteed by the PCI
176
169
specification to work (ie. anything below a single PCI bridge).
177
170
178
171
Many PCIe root complexes do not support P2P transactions and
179
172
it's hard to tell which support it at all, so at this time,
180
173
P2P DMA transations must be between devices behind the same root
181
174
port.
182
175
183
176
If unsure, say N.
184
177
185
178
config PCI_LABEL
186
179
def_bool y if (DMI || ACPI)
187
-
depends on PCI
188
180
select NLS
189
181
190
182
config PCI_HYPERV
191
183
tristate "Hyper-V PCI Frontend"
192
-
depends on PCI && X86 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && X86_64
184
+
depends on X86 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && X86_64
193
185
help
194
186
The PCI device frontend driver allows the kernel to import arbitrary
195
187
PCI devices from a PCI backend to support PCI driver domains.
196
188
197
189
source "drivers/pci/hotplug/Kconfig"
198
190
source "drivers/pci/controller/Kconfig"
199
191
source "drivers/pci/endpoint/Kconfig"
200
192
source "drivers/pci/switch/Kconfig"
193
+
194
+
endif