Kconfig 4.1 KB

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