11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# 21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# PCI configuration 31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds# 4f282b97021ddc95c6092b9016f667c0963858fb1Dan Williamsconfig ARCH_SUPPORTS_MSI 5f282b97021ddc95c6092b9016f667c0963858fb1Dan Williams bool 6f282b97021ddc95c6092b9016f667c0963858fb1Dan Williams default n 7f282b97021ddc95c6092b9016f667c0963858fb1Dan Williams 81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig PCI_MSI 91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds bool "Message Signaled Interrupts (MSI and MSI-X)" 101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds depends on PCI 11f282b97021ddc95c6092b9016f667c0963858fb1Dan Williams depends on ARCH_SUPPORTS_MSI 121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds help 131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds This allows device drivers to enable MSI (Message Signaled 141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds Interrupts). Message Signaled Interrupts enable a device to 151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds generate an interrupt using an inbound Memory Write on its 161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds PCI bus instead of asserting a device IRQ pin. 171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 18309e57df7b766172ba137a8cbd909f88dd76e8e9Matthew Wilcox Use of PCI MSI interrupts can be disabled at kernel boot time 19309e57df7b766172ba137a8cbd909f88dd76e8e9Matthew Wilcox by using the 'pci=nomsi' option. This disables MSI for the 20309e57df7b766172ba137a8cbd909f88dd76e8e9Matthew Wilcox entire system. 21309e57df7b766172ba137a8cbd909f88dd76e8e9Matthew Wilcox 223196180a54b593838c0b6496e5b524a2f69bb190Jesse Barnes If you don't know what to do here, say Y. 231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsconfig PCI_DEBUG 251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds bool "PCI Debugging" 261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds depends on PCI && DEBUG_KERNEL 271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds help 281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds Say Y here if you want the PCI core to produce a bunch of debug 291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds messages to the system log. Select this if you are having a 301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds problem with PCI support and want to see more of what is going on. 311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds When in doubt, say N. 331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 34b07f2ebc109b607789f648dedcff4b125f9afec6Yinghai Luconfig PCI_REALLOC_ENABLE_AUTO 35b07f2ebc109b607789f648dedcff4b125f9afec6Yinghai Lu bool "Enable PCI resource re-allocation detection" 36b07f2ebc109b607789f648dedcff4b125f9afec6Yinghai Lu depends on PCI 37b07f2ebc109b607789f648dedcff4b125f9afec6Yinghai Lu help 38b07f2ebc109b607789f648dedcff4b125f9afec6Yinghai Lu Say Y here if you want the PCI core to detect if PCI resource 39b07f2ebc109b607789f648dedcff4b125f9afec6Yinghai Lu re-allocation needs to be enabled. You can always use pci=realloc=on 40b07f2ebc109b607789f648dedcff4b125f9afec6Yinghai Lu or pci=realloc=off to override it. Note this feature is a no-op 41b07f2ebc109b607789f648dedcff4b125f9afec6Yinghai Lu unless PCI_IOV support is also enabled; in that case it will 42b07f2ebc109b607789f648dedcff4b125f9afec6Yinghai Lu automatically re-allocate PCI resources if SR-IOV BARs have not 43b07f2ebc109b607789f648dedcff4b125f9afec6Yinghai Lu been allocated by the BIOS. 44b07f2ebc109b607789f648dedcff4b125f9afec6Yinghai Lu 45b07f2ebc109b607789f648dedcff4b125f9afec6Yinghai Lu When in doubt, say N. 46b07f2ebc109b607789f648dedcff4b125f9afec6Yinghai Lu 47c70e0d9dfef3d826c8ae4f7544acc53887cb161dChris Wrightconfig PCI_STUB 48c70e0d9dfef3d826c8ae4f7544acc53887cb161dChris Wright tristate "PCI Stub driver" 49c70e0d9dfef3d826c8ae4f7544acc53887cb161dChris Wright depends on PCI 50c70e0d9dfef3d826c8ae4f7544acc53887cb161dChris Wright help 51c70e0d9dfef3d826c8ae4f7544acc53887cb161dChris Wright Say Y or M here if you want be able to reserve a PCI device 52c70e0d9dfef3d826c8ae4f7544acc53887cb161dChris Wright when it is going to be assigned to a guest operating system. 53c70e0d9dfef3d826c8ae4f7544acc53887cb161dChris Wright 54c70e0d9dfef3d826c8ae4f7544acc53887cb161dChris Wright When in doubt, say N. 55c70e0d9dfef3d826c8ae4f7544acc53887cb161dChris Wright 56956a9202cd1220397933a07beda9f96b3df1fa24Ryan Wilsonconfig XEN_PCIDEV_FRONTEND 57956a9202cd1220397933a07beda9f96b3df1fa24Ryan Wilson tristate "Xen PCI Frontend" 58956a9202cd1220397933a07beda9f96b3df1fa24Ryan Wilson depends on PCI && X86 && XEN 59956a9202cd1220397933a07beda9f96b3df1fa24Ryan Wilson select HOTPLUG 60956a9202cd1220397933a07beda9f96b3df1fa24Ryan Wilson select PCI_XEN 61fce263c141faca8db85acb0524bdfdfae3ec0725Konrad Rzeszutek Wilk select XEN_XENBUS_FRONTEND 62956a9202cd1220397933a07beda9f96b3df1fa24Ryan Wilson default y 63956a9202cd1220397933a07beda9f96b3df1fa24Ryan Wilson help 64956a9202cd1220397933a07beda9f96b3df1fa24Ryan Wilson The PCI device frontend driver allows the kernel to import arbitrary 65956a9202cd1220397933a07beda9f96b3df1fa24Ryan Wilson PCI devices from a PCI backend to support PCI driver domains. 66956a9202cd1220397933a07beda9f96b3df1fa24Ryan Wilson 678b955b0dddb35e398b07e217a81f8bd49400796fEric W. Biedermanconfig HT_IRQ 688b955b0dddb35e398b07e217a81f8bd49400796fEric W. Biederman bool "Interrupts on hypertransport devices" 698b955b0dddb35e398b07e217a81f8bd49400796fEric W. Biederman default y 70fbab41ccc479b6b0ba15c137af9e0b1c100bff24Adrian Bunk depends on PCI && X86_LOCAL_APIC && X86_IO_APIC 718b955b0dddb35e398b07e217a81f8bd49400796fEric W. Biederman help 728b955b0dddb35e398b07e217a81f8bd49400796fEric W. Biederman This allows native hypertransport devices to use interrupts. 738b955b0dddb35e398b07e217a81f8bd49400796fEric W. Biederman 748b955b0dddb35e398b07e217a81f8bd49400796fEric W. Biederman If unsure say Y. 75d1b054da8f599905f3c18a218961dcf17f9d5f13Yu Zhao 76db3c33c6d3fa04ee46b491e9d75d0d3b4798d074Joerg Roedelconfig PCI_ATS 77db3c33c6d3fa04ee46b491e9d75d0d3b4798d074Joerg Roedel bool 78db3c33c6d3fa04ee46b491e9d75d0d3b4798d074Joerg Roedel 79d1b054da8f599905f3c18a218961dcf17f9d5f13Yu Zhaoconfig PCI_IOV 80d1b054da8f599905f3c18a218961dcf17f9d5f13Yu Zhao bool "PCI IOV support" 81d1b054da8f599905f3c18a218961dcf17f9d5f13Yu Zhao depends on PCI 82db3c33c6d3fa04ee46b491e9d75d0d3b4798d074Joerg Roedel select PCI_ATS 83d1b054da8f599905f3c18a218961dcf17f9d5f13Yu Zhao help 84d1b054da8f599905f3c18a218961dcf17f9d5f13Yu Zhao I/O Virtualization is a PCI feature supported by some devices 85d1b054da8f599905f3c18a218961dcf17f9d5f13Yu Zhao which allows them to create virtual devices which share their 86d1b054da8f599905f3c18a218961dcf17f9d5f13Yu Zhao physical resources. 87d1b054da8f599905f3c18a218961dcf17f9d5f13Yu Zhao 88d1b054da8f599905f3c18a218961dcf17f9d5f13Yu Zhao If unsure, say N. 89204d49a5613a06eb2fa5c3b842a29b1336cc7995Bjorn Helgaas 90c320b976d7837c561ce4aa49dfe0a64f0e527ce4Joerg Roedelconfig PCI_PRI 91c320b976d7837c561ce4aa49dfe0a64f0e527ce4Joerg Roedel bool "PCI PRI support" 92c54420d3302d30999060e2669d0800b85e5b5a20Joerg Roedel depends on PCI 93c320b976d7837c561ce4aa49dfe0a64f0e527ce4Joerg Roedel select PCI_ATS 94c320b976d7837c561ce4aa49dfe0a64f0e527ce4Joerg Roedel help 95c320b976d7837c561ce4aa49dfe0a64f0e527ce4Joerg Roedel PRI is the PCI Page Request Interface. It allows PCI devices that are 96c320b976d7837c561ce4aa49dfe0a64f0e527ce4Joerg Roedel behind an IOMMU to recover from page faults. 97c320b976d7837c561ce4aa49dfe0a64f0e527ce4Joerg Roedel 98c320b976d7837c561ce4aa49dfe0a64f0e527ce4Joerg Roedel If unsure, say N. 99c320b976d7837c561ce4aa49dfe0a64f0e527ce4Joerg Roedel 100086ac11f6435c9dc2fe5025fc8ea3a1dbca273d6Joerg Roedelconfig PCI_PASID 101086ac11f6435c9dc2fe5025fc8ea3a1dbca273d6Joerg Roedel bool "PCI PASID support" 102086ac11f6435c9dc2fe5025fc8ea3a1dbca273d6Joerg Roedel depends on PCI 103086ac11f6435c9dc2fe5025fc8ea3a1dbca273d6Joerg Roedel select PCI_ATS 104086ac11f6435c9dc2fe5025fc8ea3a1dbca273d6Joerg Roedel help 105086ac11f6435c9dc2fe5025fc8ea3a1dbca273d6Joerg Roedel Process Address Space Identifiers (PASIDs) can be used by PCI devices 106086ac11f6435c9dc2fe5025fc8ea3a1dbca273d6Joerg Roedel to access more than one IO address space at the same time. To make 107086ac11f6435c9dc2fe5025fc8ea3a1dbca273d6Joerg Roedel use of this feature an IOMMU is required which also supports PASIDs. 108086ac11f6435c9dc2fe5025fc8ea3a1dbca273d6Joerg Roedel Select this option if you have such an IOMMU and want to compile the 109086ac11f6435c9dc2fe5025fc8ea3a1dbca273d6Joerg Roedel driver for it into your kernel. 110086ac11f6435c9dc2fe5025fc8ea3a1dbca273d6Joerg Roedel 111086ac11f6435c9dc2fe5025fc8ea3a1dbca273d6Joerg Roedel If unsure, say N. 112086ac11f6435c9dc2fe5025fc8ea3a1dbca273d6Joerg Roedel 113204d49a5613a06eb2fa5c3b842a29b1336cc7995Bjorn Helgaasconfig PCI_IOAPIC 114b95a7bd700466c10fda84acbd33f70cf66ec91ceJan Beulich tristate "PCI IO-APIC hotplug support" if X86 115204d49a5613a06eb2fa5c3b842a29b1336cc7995Bjorn Helgaas depends on PCI 116204d49a5613a06eb2fa5c3b842a29b1336cc7995Bjorn Helgaas depends on ACPI 117204d49a5613a06eb2fa5c3b842a29b1336cc7995Bjorn Helgaas depends on HOTPLUG 118b95a7bd700466c10fda84acbd33f70cf66ec91ceJan Beulich default !X86 1196058989bad05b82e78baacce69ec14f27a11b5fdNarendra_K@Dell.com 1208a226e00eeed8db843d4a580013a49ae3559bcd7Randy Dunlapconfig PCI_LABEL 1218a226e00eeed8db843d4a580013a49ae3559bcd7Randy Dunlap def_bool y if (DMI || ACPI) 1228a226e00eeed8db843d4a580013a49ae3559bcd7Randy Dunlap select NLS 123