1#
2# PCI configuration
3#
4config PCI_BUS_ADDR_T_64BIT
5	def_bool y if (ARCH_DMA_ADDR_T_64BIT || 64BIT)
6	depends on PCI
7
8config PCI_MSI
9	bool "Message Signaled Interrupts (MSI and MSI-X)"
10	depends on PCI
11	select GENERIC_MSI_IRQ
12	help
13	   This allows device drivers to enable MSI (Message Signaled
14	   Interrupts).  Message Signaled Interrupts enable a device to
15	   generate an interrupt using an inbound Memory Write on its
16	   PCI bus instead of asserting a device IRQ pin.
17
18	   Use of PCI MSI interrupts can be disabled at kernel boot time
19	   by using the 'pci=nomsi' option.  This disables MSI for the
20	   entire system.
21
22	   If you don't know what to do here, say Y.
23
24config PCI_MSI_IRQ_DOMAIN
25	bool
26	depends on PCI_MSI
27	select GENERIC_MSI_IRQ_DOMAIN
28
29config PCI_DEBUG
30	bool "PCI Debugging"
31	depends on PCI && DEBUG_KERNEL
32	help
33	  Say Y here if you want the PCI core to produce a bunch of debug
34	  messages to the system log.  Select this if you are having a
35	  problem with PCI support and want to see more of what is going on.
36
37	  When in doubt, say N.
38
39config PCI_REALLOC_ENABLE_AUTO
40	bool "Enable PCI resource re-allocation detection"
41	depends on PCI
42	help
43	  Say Y here if you want the PCI core to detect if PCI resource
44	  re-allocation needs to be enabled. You can always use pci=realloc=on
45          or pci=realloc=off to override it.  Note this feature is a no-op
46          unless PCI_IOV support is also enabled; in that case it will
47          automatically re-allocate PCI resources if SR-IOV BARs have not
48          been allocated by the BIOS.
49
50	  When in doubt, say N.
51
52config PCI_STUB
53	tristate "PCI Stub driver"
54	depends on PCI
55	help
56	  Say Y or M here if you want be able to reserve a PCI device
57	  when it is going to be assigned to a guest operating system.
58
59	  When in doubt, say N.
60
61config XEN_PCIDEV_FRONTEND
62        tristate "Xen PCI Frontend"
63        depends on PCI && X86 && XEN
64        select PCI_XEN
65	select XEN_XENBUS_FRONTEND
66        default y
67        help
68          The PCI device frontend driver allows the kernel to import arbitrary
69          PCI devices from a PCI backend to support PCI driver domains.
70
71config HT_IRQ
72	bool "Interrupts on hypertransport devices"
73	default y
74	depends on PCI && X86_LOCAL_APIC
75	help
76	   This allows native hypertransport devices to use interrupts.
77
78	   If unsure say Y.
79
80config PCI_ATS
81	bool
82
83config PCI_IOV
84	bool "PCI IOV support"
85	depends on PCI
86	select PCI_ATS
87	help
88	  I/O Virtualization is a PCI feature supported by some devices
89	  which allows them to create virtual devices which share their
90	  physical resources.
91
92	  If unsure, say N.
93
94config PCI_PRI
95	bool "PCI PRI support"
96	depends on PCI
97	select PCI_ATS
98	help
99	  PRI is the PCI Page Request Interface. It allows PCI devices that are
100	  behind an IOMMU to recover from page faults.
101
102	  If unsure, say N.
103
104config PCI_PASID
105	bool "PCI PASID support"
106	depends on PCI
107	select PCI_ATS
108	help
109	  Process Address Space Identifiers (PASIDs) can be used by PCI devices
110	  to access more than one IO address space at the same time. To make
111	  use of this feature an IOMMU is required which also supports PASIDs.
112	  Select this option if you have such an IOMMU and want to compile the
113	  driver for it into your kernel.
114
115	  If unsure, say N.
116
117config PCI_LABEL
118	def_bool y if (DMI || ACPI)
119	select NLS
120
121source "drivers/pci/host/Kconfig"
122