xref: /linux/drivers/pci/Kconfig (revision 4daace0d8ce851f8f8f91563c835e3000c954d5e)
11da177e4SLinus Torvalds#
21da177e4SLinus Torvalds# PCI configuration
31da177e4SLinus Torvalds#
43a9ad0b4SYinghai Luconfig PCI_BUS_ADDR_T_64BIT
5e02a653eSHelge Deller	def_bool y if (ARCH_DMA_ADDR_T_64BIT || 64BIT)
63a9ad0b4SYinghai Lu	depends on PCI
73a9ad0b4SYinghai Lu
81da177e4SLinus Torvaldsconfig PCI_MSI
91da177e4SLinus Torvalds	bool "Message Signaled Interrupts (MSI and MSI-X)"
101da177e4SLinus Torvalds	depends on PCI
1138b6a1cfSJiang Liu	select GENERIC_MSI_IRQ
121da177e4SLinus Torvalds	help
131da177e4SLinus Torvalds	   This allows device drivers to enable MSI (Message Signaled
141da177e4SLinus Torvalds	   Interrupts).  Message Signaled Interrupts enable a device to
151da177e4SLinus Torvalds	   generate an interrupt using an inbound Memory Write on its
161da177e4SLinus Torvalds	   PCI bus instead of asserting a device IRQ pin.
171da177e4SLinus Torvalds
18309e57dfSMatthew Wilcox	   Use of PCI MSI interrupts can be disabled at kernel boot time
19309e57dfSMatthew Wilcox	   by using the 'pci=nomsi' option.  This disables MSI for the
20309e57dfSMatthew Wilcox	   entire system.
21309e57dfSMatthew Wilcox
223196180aSJesse Barnes	   If you don't know what to do here, say Y.
231da177e4SLinus Torvalds
243878eaefSJiang Liuconfig PCI_MSI_IRQ_DOMAIN
253878eaefSJiang Liu	bool
263878eaefSJiang Liu	depends on PCI_MSI
273878eaefSJiang Liu	select GENERIC_MSI_IRQ_DOMAIN
283878eaefSJiang Liu
291da177e4SLinus Torvaldsconfig PCI_DEBUG
301da177e4SLinus Torvalds	bool "PCI Debugging"
311da177e4SLinus Torvalds	depends on PCI && DEBUG_KERNEL
321da177e4SLinus Torvalds	help
331da177e4SLinus Torvalds	  Say Y here if you want the PCI core to produce a bunch of debug
341da177e4SLinus Torvalds	  messages to the system log.  Select this if you are having a
351da177e4SLinus Torvalds	  problem with PCI support and want to see more of what is going on.
361da177e4SLinus Torvalds
371da177e4SLinus Torvalds	  When in doubt, say N.
381da177e4SLinus Torvalds
39b07f2ebcSYinghai Luconfig PCI_REALLOC_ENABLE_AUTO
40b07f2ebcSYinghai Lu	bool "Enable PCI resource re-allocation detection"
41b07f2ebcSYinghai Lu	depends on PCI
42b07f2ebcSYinghai Lu	help
43b07f2ebcSYinghai Lu	  Say Y here if you want the PCI core to detect if PCI resource
44b07f2ebcSYinghai Lu	  re-allocation needs to be enabled. You can always use pci=realloc=on
45b07f2ebcSYinghai Lu          or pci=realloc=off to override it.  Note this feature is a no-op
46b07f2ebcSYinghai Lu          unless PCI_IOV support is also enabled; in that case it will
47b07f2ebcSYinghai Lu          automatically re-allocate PCI resources if SR-IOV BARs have not
48b07f2ebcSYinghai Lu          been allocated by the BIOS.
49b07f2ebcSYinghai Lu
50b07f2ebcSYinghai Lu	  When in doubt, say N.
51b07f2ebcSYinghai Lu
52c70e0d9dSChris Wrightconfig PCI_STUB
53c70e0d9dSChris Wright	tristate "PCI Stub driver"
54c70e0d9dSChris Wright	depends on PCI
55c70e0d9dSChris Wright	help
56c70e0d9dSChris Wright	  Say Y or M here if you want be able to reserve a PCI device
57c70e0d9dSChris Wright	  when it is going to be assigned to a guest operating system.
58c70e0d9dSChris Wright
59c70e0d9dSChris Wright	  When in doubt, say N.
60c70e0d9dSChris Wright
61956a9202SRyan Wilsonconfig XEN_PCIDEV_FRONTEND
62956a9202SRyan Wilson        tristate "Xen PCI Frontend"
63956a9202SRyan Wilson        depends on PCI && X86 && XEN
64956a9202SRyan Wilson        select PCI_XEN
65fce263c1SKonrad Rzeszutek Wilk	select XEN_XENBUS_FRONTEND
66956a9202SRyan Wilson        default y
67956a9202SRyan Wilson        help
68956a9202SRyan Wilson          The PCI device frontend driver allows the kernel to import arbitrary
69956a9202SRyan Wilson          PCI devices from a PCI backend to support PCI driver domains.
70956a9202SRyan Wilson
718b955b0dSEric W. Biedermanconfig HT_IRQ
728b955b0dSEric W. Biederman	bool "Interrupts on hypertransport devices"
738b955b0dSEric W. Biederman	default y
742f600025SJiang Liu	depends on PCI && X86_LOCAL_APIC
758b955b0dSEric W. Biederman	help
768b955b0dSEric W. Biederman	   This allows native hypertransport devices to use interrupts.
778b955b0dSEric W. Biederman
788b955b0dSEric W. Biederman	   If unsure say Y.
79d1b054daSYu Zhao
80db3c33c6SJoerg Roedelconfig PCI_ATS
81db3c33c6SJoerg Roedel	bool
82db3c33c6SJoerg Roedel
83d1b054daSYu Zhaoconfig PCI_IOV
84d1b054daSYu Zhao	bool "PCI IOV support"
85d1b054daSYu Zhao	depends on PCI
86db3c33c6SJoerg Roedel	select PCI_ATS
87d1b054daSYu Zhao	help
88d1b054daSYu Zhao	  I/O Virtualization is a PCI feature supported by some devices
89d1b054daSYu Zhao	  which allows them to create virtual devices which share their
90d1b054daSYu Zhao	  physical resources.
91d1b054daSYu Zhao
92d1b054daSYu Zhao	  If unsure, say N.
93204d49a5SBjorn Helgaas
94c320b976SJoerg Roedelconfig PCI_PRI
95c320b976SJoerg Roedel	bool "PCI PRI support"
96c54420d3SJoerg Roedel	depends on PCI
97c320b976SJoerg Roedel	select PCI_ATS
98c320b976SJoerg Roedel	help
99c320b976SJoerg Roedel	  PRI is the PCI Page Request Interface. It allows PCI devices that are
100c320b976SJoerg Roedel	  behind an IOMMU to recover from page faults.
101c320b976SJoerg Roedel
102c320b976SJoerg Roedel	  If unsure, say N.
103c320b976SJoerg Roedel
104086ac11fSJoerg Roedelconfig PCI_PASID
105086ac11fSJoerg Roedel	bool "PCI PASID support"
106086ac11fSJoerg Roedel	depends on PCI
107086ac11fSJoerg Roedel	select PCI_ATS
108086ac11fSJoerg Roedel	help
109086ac11fSJoerg Roedel	  Process Address Space Identifiers (PASIDs) can be used by PCI devices
110086ac11fSJoerg Roedel	  to access more than one IO address space at the same time. To make
111086ac11fSJoerg Roedel	  use of this feature an IOMMU is required which also supports PASIDs.
112086ac11fSJoerg Roedel	  Select this option if you have such an IOMMU and want to compile the
113086ac11fSJoerg Roedel	  driver for it into your kernel.
114086ac11fSJoerg Roedel
115086ac11fSJoerg Roedel	  If unsure, say N.
116086ac11fSJoerg Roedel
1178a226e00SRandy Dunlapconfig PCI_LABEL
1188a226e00SRandy Dunlap	def_bool y if (DMI || ACPI)
1198a226e00SRandy Dunlap	select NLS
12045361a4fSThomas Petazzoni
121*4daace0dSJake Oshinsconfig PCI_HYPERV
122*4daace0dSJake Oshins        tristate "Hyper-V PCI Frontend"
123*4daace0dSJake Oshins        depends on PCI && X86 && HYPERV && PCI_MSI && PCI_MSI_IRQ_DOMAIN && X86_64
124*4daace0dSJake Oshins        help
125*4daace0dSJake Oshins          The PCI device frontend driver allows the kernel to import arbitrary
126*4daace0dSJake Oshins          PCI devices from a PCI backend to support PCI driver domains.
127*4daace0dSJake Oshins
12845361a4fSThomas Petazzonisource "drivers/pci/host/Kconfig"
129