Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

#
# CONFIG_PCI configuration
#

source "drivers/pci/pcie/Kconfig"

config CONFIG_PCI_BUS_ADDR_T_64BIT
	def_bool y if (CONFIG_ARCH_DMA_ADDR_T_64BIT || CONFIG_64BIT)
	depends on CONFIG_PCI

config CONFIG_PCI_MSI
	bool "Message Signaled Interrupts (MSI and MSI-X)"
	depends on CONFIG_PCI
	select CONFIG_GENERIC_MSI_IRQ
	help
	   This allows device drivers to enable MSI (Message Signaled
	   Interrupts).  Message Signaled Interrupts enable a device to
	   generate an interrupt using an inbound Memory Write on its
	   CONFIG_PCI bus instead of asserting a device IRQ pin.

	   Use of CONFIG_PCI MSI interrupts can be disabled at kernel boot time
	   by using the 'pci=nomsi' option.  This disables MSI for the
	   entire system.

	   If you don't know what to do here, say Y.

config CONFIG_PCI_MSI_IRQ_DOMAIN
	def_bool CONFIG_ARC || CONFIG_ARM || CONFIG_ARM64 || CONFIG_X86
	depends on CONFIG_PCI_MSI
	select CONFIG_GENERIC_MSI_IRQ_DOMAIN

config CONFIG_PCI_DEBUG
	bool "PCI Debugging"
	depends on CONFIG_PCI && CONFIG_DEBUG_KERNEL
	help
	  Say Y here if you want the CONFIG_PCI core to produce a bunch of debug
	  messages to the system log.  Select this if you are having a
	  problem with CONFIG_PCI support and want to see more of what is going on.

	  When in doubt, say N.

config CONFIG_PCI_REALLOC_ENABLE_AUTO
	bool "Enable PCI resource re-allocation detection"
	depends on CONFIG_PCI
	help
	  Say Y here if you want the CONFIG_PCI core to detect if CONFIG_PCI resource
	  re-allocation needs to be enabled. You can always use pci=realloc=on
          or pci=realloc=off to override it.  Note this feature is a no-op
          unless CONFIG_PCI_IOV support is also enabled; in that case it will
          automatically re-allocate CONFIG_PCI resources if SR-IOV BARs have not
          been allocated by the BIOS.

	  When in doubt, say N.

config CONFIG_PCI_STUB
	tristate "PCI Stub driver"
	depends on CONFIG_PCI
	help
	  Say Y or CONFIG_M here if you want be able to reserve a CONFIG_PCI device
	  when it is going to be assigned to a guest operating system.

	  When in doubt, say N.

config CONFIG_XEN_PCIDEV_FRONTEND
        tristate "Xen PCI Frontend"
        depends on CONFIG_PCI && CONFIG_X86 && CONFIG_XEN
        select CONFIG_PCI_XEN
	select CONFIG_XEN_XENBUS_FRONTEND
        default y
        help
          The CONFIG_PCI device frontend driver allows the kernel to import arbitrary
          CONFIG_PCI devices from a CONFIG_PCI backend to support CONFIG_PCI driver domains.

config CONFIG_HT_IRQ
	bool "Interrupts on hypertransport devices"
	default y
	depends on CONFIG_PCI && CONFIG_X86_LOCAL_APIC
	help
	   This allows native hypertransport devices to use interrupts.

	   If unsure say Y.

config CONFIG_PCI_ATS
	bool

config CONFIG_PCI_ECAM
	bool

config CONFIG_PCI_IOV
	bool "PCI IOV support"
	depends on CONFIG_PCI
	select CONFIG_PCI_ATS
	help
	  I/O Virtualization is a CONFIG_PCI feature supported by some devices
	  which allows them to create virtual devices which share their
	  physical resources.

	  If unsure, say N.

config CONFIG_PCI_PRI
	bool "PCI PRI support"
	depends on CONFIG_PCI
	select CONFIG_PCI_ATS
	help
	  PRI is the CONFIG_PCI Page Request Interface. It allows CONFIG_PCI devices that are
	  behind an IOMMU to recover from page faults.

	  If unsure, say N.

config CONFIG_PCI_PASID
	bool "PCI PASID support"
	depends on CONFIG_PCI
	select CONFIG_PCI_ATS
	help
	  Process Address Space Identifiers (PASIDs) can be used by CONFIG_PCI devices
	  to access more than one IO address space at the same time. To make
	  use of this feature an IOMMU is required which also supports PASIDs.
	  Select this option if you have such an IOMMU and want to compile the
	  driver for it into your kernel.

	  If unsure, say N.

config CONFIG_PCI_LABEL
	def_bool y if (CONFIG_DMI || CONFIG_ACPI)
	select CONFIG_NLS

config CONFIG_PCI_HYPERV
        tristate "Hyper-V PCI Frontend"
        depends on CONFIG_PCI && CONFIG_X86 && CONFIG_HYPERV && CONFIG_PCI_MSI && CONFIG_PCI_MSI_IRQ_DOMAIN && CONFIG_X86_64
        help
          The CONFIG_PCI device frontend driver allows the kernel to import arbitrary
          CONFIG_PCI devices from a CONFIG_PCI backend to support CONFIG_PCI driver domains.

source "drivers/pci/hotplug/Kconfig"
source "drivers/pci/host/Kconfig"