xref: /linux/drivers/pci/Kconfig (revision 2f600025d38f8c4e7debdeae9b80b7df498c22be)
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
738b6a1cfSJiang 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
203878eaefSJiang Liuconfig PCI_MSI_IRQ_DOMAIN
213878eaefSJiang Liu	bool
223878eaefSJiang Liu	depends on PCI_MSI
233878eaefSJiang Liu	select GENERIC_MSI_IRQ_DOMAIN
243878eaefSJiang Liu
251da177e4SLinus Torvaldsconfig PCI_DEBUG
261da177e4SLinus Torvalds	bool "PCI Debugging"
271da177e4SLinus Torvalds	depends on PCI && DEBUG_KERNEL
281da177e4SLinus Torvalds	help
291da177e4SLinus Torvalds	  Say Y here if you want the PCI core to produce a bunch of debug
301da177e4SLinus Torvalds	  messages to the system log.  Select this if you are having a
311da177e4SLinus Torvalds	  problem with PCI support and want to see more of what is going on.
321da177e4SLinus Torvalds
331da177e4SLinus Torvalds	  When in doubt, say N.
341da177e4SLinus Torvalds
35b07f2ebcSYinghai Luconfig PCI_REALLOC_ENABLE_AUTO
36b07f2ebcSYinghai Lu	bool "Enable PCI resource re-allocation detection"
37b07f2ebcSYinghai Lu	depends on PCI
38b07f2ebcSYinghai Lu	help
39b07f2ebcSYinghai Lu	  Say Y here if you want the PCI core to detect if PCI resource
40b07f2ebcSYinghai Lu	  re-allocation needs to be enabled. You can always use pci=realloc=on
41b07f2ebcSYinghai Lu          or pci=realloc=off to override it.  Note this feature is a no-op
42b07f2ebcSYinghai Lu          unless PCI_IOV support is also enabled; in that case it will
43b07f2ebcSYinghai Lu          automatically re-allocate PCI resources if SR-IOV BARs have not
44b07f2ebcSYinghai Lu          been allocated by the BIOS.
45b07f2ebcSYinghai Lu
46b07f2ebcSYinghai Lu	  When in doubt, say N.
47b07f2ebcSYinghai Lu
48c70e0d9dSChris Wrightconfig PCI_STUB
49c70e0d9dSChris Wright	tristate "PCI Stub driver"
50c70e0d9dSChris Wright	depends on PCI
51c70e0d9dSChris Wright	help
52c70e0d9dSChris Wright	  Say Y or M here if you want be able to reserve a PCI device
53c70e0d9dSChris Wright	  when it is going to be assigned to a guest operating system.
54c70e0d9dSChris Wright
55c70e0d9dSChris Wright	  When in doubt, say N.
56c70e0d9dSChris Wright
57956a9202SRyan Wilsonconfig XEN_PCIDEV_FRONTEND
58956a9202SRyan Wilson        tristate "Xen PCI Frontend"
59956a9202SRyan Wilson        depends on PCI && X86 && XEN
60956a9202SRyan Wilson        select PCI_XEN
61fce263c1SKonrad Rzeszutek Wilk	select XEN_XENBUS_FRONTEND
62956a9202SRyan Wilson        default y
63956a9202SRyan Wilson        help
64956a9202SRyan Wilson          The PCI device frontend driver allows the kernel to import arbitrary
65956a9202SRyan Wilson          PCI devices from a PCI backend to support PCI driver domains.
66956a9202SRyan Wilson
678b955b0dSEric W. Biedermanconfig HT_IRQ
688b955b0dSEric W. Biederman	bool "Interrupts on hypertransport devices"
698b955b0dSEric W. Biederman	default y
70*2f600025SJiang Liu	depends on PCI && X86_LOCAL_APIC
718b955b0dSEric W. Biederman	help
728b955b0dSEric W. Biederman	   This allows native hypertransport devices to use interrupts.
738b955b0dSEric W. Biederman
748b955b0dSEric W. Biederman	   If unsure say Y.
75d1b054daSYu Zhao
76db3c33c6SJoerg Roedelconfig PCI_ATS
77db3c33c6SJoerg Roedel	bool
78db3c33c6SJoerg Roedel
79d1b054daSYu Zhaoconfig PCI_IOV
80d1b054daSYu Zhao	bool "PCI IOV support"
81d1b054daSYu Zhao	depends on PCI
82db3c33c6SJoerg Roedel	select PCI_ATS
83d1b054daSYu Zhao	help
84d1b054daSYu Zhao	  I/O Virtualization is a PCI feature supported by some devices
85d1b054daSYu Zhao	  which allows them to create virtual devices which share their
86d1b054daSYu Zhao	  physical resources.
87d1b054daSYu Zhao
88d1b054daSYu Zhao	  If unsure, say N.
89204d49a5SBjorn Helgaas
90c320b976SJoerg Roedelconfig PCI_PRI
91c320b976SJoerg Roedel	bool "PCI PRI support"
92c54420d3SJoerg Roedel	depends on PCI
93c320b976SJoerg Roedel	select PCI_ATS
94c320b976SJoerg Roedel	help
95c320b976SJoerg Roedel	  PRI is the PCI Page Request Interface. It allows PCI devices that are
96c320b976SJoerg Roedel	  behind an IOMMU to recover from page faults.
97c320b976SJoerg Roedel
98c320b976SJoerg Roedel	  If unsure, say N.
99c320b976SJoerg Roedel
100086ac11fSJoerg Roedelconfig PCI_PASID
101086ac11fSJoerg Roedel	bool "PCI PASID support"
102086ac11fSJoerg Roedel	depends on PCI
103086ac11fSJoerg Roedel	select PCI_ATS
104086ac11fSJoerg Roedel	help
105086ac11fSJoerg Roedel	  Process Address Space Identifiers (PASIDs) can be used by PCI devices
106086ac11fSJoerg Roedel	  to access more than one IO address space at the same time. To make
107086ac11fSJoerg Roedel	  use of this feature an IOMMU is required which also supports PASIDs.
108086ac11fSJoerg Roedel	  Select this option if you have such an IOMMU and want to compile the
109086ac11fSJoerg Roedel	  driver for it into your kernel.
110086ac11fSJoerg Roedel
111086ac11fSJoerg Roedel	  If unsure, say N.
112086ac11fSJoerg Roedel
1138a226e00SRandy Dunlapconfig PCI_LABEL
1148a226e00SRandy Dunlap	def_bool y if (DMI || ACPI)
1158a226e00SRandy Dunlap	select NLS
11645361a4fSThomas Petazzoni
11745361a4fSThomas Petazzonisource "drivers/pci/host/Kconfig"
118