xref: /linux/drivers/pci/Kconfig (revision 38b6a1cf3e4df0a3267c01fab699ab65d58690f4)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# PCI configuration
31da177e4SLinus Torvalds#
41da177e4SLinus Torvaldsconfig PCI_MSI
51da177e4SLinus Torvalds	bool "Message Signaled Interrupts (MSI and MSI-X)"
61da177e4SLinus Torvalds	depends on PCI
7*38b6a1cfSJiang Liu	select GENERIC_MSI_IRQ
81da177e4SLinus Torvalds	help
91da177e4SLinus Torvalds	   This allows device drivers to enable MSI (Message Signaled
101da177e4SLinus Torvalds	   Interrupts).  Message Signaled Interrupts enable a device to
111da177e4SLinus Torvalds	   generate an interrupt using an inbound Memory Write on its
121da177e4SLinus Torvalds	   PCI bus instead of asserting a device IRQ pin.
131da177e4SLinus Torvalds
14309e57dfSMatthew Wilcox	   Use of PCI MSI interrupts can be disabled at kernel boot time
15309e57dfSMatthew Wilcox	   by using the 'pci=nomsi' option.  This disables MSI for the
16309e57dfSMatthew Wilcox	   entire system.
17309e57dfSMatthew Wilcox
183196180aSJesse Barnes	   If you don't know what to do here, say Y.
191da177e4SLinus Torvalds
201da177e4SLinus Torvaldsconfig PCI_DEBUG
211da177e4SLinus Torvalds	bool "PCI Debugging"
221da177e4SLinus Torvalds	depends on PCI && DEBUG_KERNEL
231da177e4SLinus Torvalds	help
241da177e4SLinus Torvalds	  Say Y here if you want the PCI core to produce a bunch of debug
251da177e4SLinus Torvalds	  messages to the system log.  Select this if you are having a
261da177e4SLinus Torvalds	  problem with PCI support and want to see more of what is going on.
271da177e4SLinus Torvalds
281da177e4SLinus Torvalds	  When in doubt, say N.
291da177e4SLinus Torvalds
30b07f2ebcSYinghai Luconfig PCI_REALLOC_ENABLE_AUTO
31b07f2ebcSYinghai Lu	bool "Enable PCI resource re-allocation detection"
32b07f2ebcSYinghai Lu	depends on PCI
33b07f2ebcSYinghai Lu	help
34b07f2ebcSYinghai Lu	  Say Y here if you want the PCI core to detect if PCI resource
35b07f2ebcSYinghai Lu	  re-allocation needs to be enabled. You can always use pci=realloc=on
36b07f2ebcSYinghai Lu          or pci=realloc=off to override it.  Note this feature is a no-op
37b07f2ebcSYinghai Lu          unless PCI_IOV support is also enabled; in that case it will
38b07f2ebcSYinghai Lu          automatically re-allocate PCI resources if SR-IOV BARs have not
39b07f2ebcSYinghai Lu          been allocated by the BIOS.
40b07f2ebcSYinghai Lu
41b07f2ebcSYinghai Lu	  When in doubt, say N.
42b07f2ebcSYinghai Lu
43c70e0d9dSChris Wrightconfig PCI_STUB
44c70e0d9dSChris Wright	tristate "PCI Stub driver"
45c70e0d9dSChris Wright	depends on PCI
46c70e0d9dSChris Wright	help
47c70e0d9dSChris Wright	  Say Y or M here if you want be able to reserve a PCI device
48c70e0d9dSChris Wright	  when it is going to be assigned to a guest operating system.
49c70e0d9dSChris Wright
50c70e0d9dSChris Wright	  When in doubt, say N.
51c70e0d9dSChris Wright
52956a9202SRyan Wilsonconfig XEN_PCIDEV_FRONTEND
53956a9202SRyan Wilson        tristate "Xen PCI Frontend"
54956a9202SRyan Wilson        depends on PCI && X86 && XEN
55956a9202SRyan Wilson        select PCI_XEN
56fce263c1SKonrad Rzeszutek Wilk	select XEN_XENBUS_FRONTEND
57956a9202SRyan Wilson        default y
58956a9202SRyan Wilson        help
59956a9202SRyan Wilson          The PCI device frontend driver allows the kernel to import arbitrary
60956a9202SRyan Wilson          PCI devices from a PCI backend to support PCI driver domains.
61956a9202SRyan Wilson
628b955b0dSEric W. Biedermanconfig HT_IRQ
638b955b0dSEric W. Biederman	bool "Interrupts on hypertransport devices"
648b955b0dSEric W. Biederman	default y
65fbab41ccSAdrian Bunk	depends on PCI && X86_LOCAL_APIC && X86_IO_APIC
668b955b0dSEric W. Biederman	help
678b955b0dSEric W. Biederman	   This allows native hypertransport devices to use interrupts.
688b955b0dSEric W. Biederman
698b955b0dSEric W. Biederman	   If unsure say Y.
70d1b054daSYu Zhao
71db3c33c6SJoerg Roedelconfig PCI_ATS
72db3c33c6SJoerg Roedel	bool
73db3c33c6SJoerg Roedel
74d1b054daSYu Zhaoconfig PCI_IOV
75d1b054daSYu Zhao	bool "PCI IOV support"
76d1b054daSYu Zhao	depends on PCI
77db3c33c6SJoerg Roedel	select PCI_ATS
78d1b054daSYu Zhao	help
79d1b054daSYu Zhao	  I/O Virtualization is a PCI feature supported by some devices
80d1b054daSYu Zhao	  which allows them to create virtual devices which share their
81d1b054daSYu Zhao	  physical resources.
82d1b054daSYu Zhao
83d1b054daSYu Zhao	  If unsure, say N.
84204d49a5SBjorn Helgaas
85c320b976SJoerg Roedelconfig PCI_PRI
86c320b976SJoerg Roedel	bool "PCI PRI support"
87c54420d3SJoerg Roedel	depends on PCI
88c320b976SJoerg Roedel	select PCI_ATS
89c320b976SJoerg Roedel	help
90c320b976SJoerg Roedel	  PRI is the PCI Page Request Interface. It allows PCI devices that are
91c320b976SJoerg Roedel	  behind an IOMMU to recover from page faults.
92c320b976SJoerg Roedel
93c320b976SJoerg Roedel	  If unsure, say N.
94c320b976SJoerg Roedel
95086ac11fSJoerg Roedelconfig PCI_PASID
96086ac11fSJoerg Roedel	bool "PCI PASID support"
97086ac11fSJoerg Roedel	depends on PCI
98086ac11fSJoerg Roedel	select PCI_ATS
99086ac11fSJoerg Roedel	help
100086ac11fSJoerg Roedel	  Process Address Space Identifiers (PASIDs) can be used by PCI devices
101086ac11fSJoerg Roedel	  to access more than one IO address space at the same time. To make
102086ac11fSJoerg Roedel	  use of this feature an IOMMU is required which also supports PASIDs.
103086ac11fSJoerg Roedel	  Select this option if you have such an IOMMU and want to compile the
104086ac11fSJoerg Roedel	  driver for it into your kernel.
105086ac11fSJoerg Roedel
106086ac11fSJoerg Roedel	  If unsure, say N.
107086ac11fSJoerg Roedel
108204d49a5SBjorn Helgaasconfig PCI_IOAPIC
10977410439SYinghai Lu	bool "PCI IO-APIC hotplug support" if X86
110204d49a5SBjorn Helgaas	depends on PCI
111204d49a5SBjorn Helgaas	depends on ACPI
11277410439SYinghai Lu	depends on X86_IO_APIC
113b95a7bd7SJan Beulich	default !X86
1146058989bSNarendra_K@Dell.com
1158a226e00SRandy Dunlapconfig PCI_LABEL
1168a226e00SRandy Dunlap	def_bool y if (DMI || ACPI)
1178a226e00SRandy Dunlap	select NLS
11845361a4fSThomas Petazzoni
11945361a4fSThomas Petazzonisource "drivers/pci/host/Kconfig"
120