#
# PCI configuration
#

source "drivers/pci/pcie/Kconfig"

config PCI_BUS_ADDR_T_64BIT
	def_bool y if (ARCH_DMA_ADDR_T_64BIT || 64BIT)
	depends on PCI

config PCI_MSI
	bool "Message Signaled Interrupts (MSI and MSI-X)"
	depends on PCI
	select 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
	   PCI bus instead of asserting a device IRQ pin.

	   Use of 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 PCI_MSI_IRQ_DOMAIN
	def_bool ARC || ARM || ARM64 || X86
	depends on PCI_MSI
	select GENERIC_MSI_IRQ_DOMAIN

config PCI_QUIRKS
	default y
	bool "Enable PCI quirk workarounds" if EXPERT
	depends on PCI
	help
	  This enables workarounds for various PCI chipset bugs/quirks.
	  Disable this only if your target machine is unaffected by PCI
	  quirks.

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

	  When in doubt, say N.

config PCI_REALLOC_ENABLE_AUTO
	bool "Enable PCI resource re-allocation detection"
	depends on PCI
	depends on PCI_IOV
	help
	  Say Y here if you want the PCI core to detect if PCI resource
	  re-allocation needs to be enabled. You can always use pci=realloc=on
	  or pci=realloc=off to override it.  It will automatically
	  re-allocate PCI resources if SR-IOV BARs have not been allocated by
	  the BIOS.

	  When in doubt, say N.

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

	  When in doubt, say N.

config XEN_PCIDEV_FRONTEND
        tristate "Xen PCI Frontend"
        depends on PCI && X86 && XEN
        select PCI_XEN
	select XEN_XENBUS_FRONTEND
        default y
        help
          The PCI device frontend driver allows the kernel to import arbitrary
          PCI devices from a PCI backend to support PCI driver domains.

config PCI_ATS
	bool

config PCI_ECAM
	bool

config PCI_LOCKLESS_CONFIG
	bool

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

	  If unsure, say N.

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

	  If unsure, say N.

config PCI_PASID
	bool "PCI PASID support"
	depends on PCI
	select PCI_ATS
	help
	  Process Address Space Identifiers (PASIDs) can be used by PCI devices
	  to acces                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    