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