# PCIe/new PCI configuration options

# Copyright (c) 2019 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

menuconfig PCIE
	bool "Enable new PCI/PCIe support"
	depends on X86
	help
	  This option enables support for new PCI(e) drivers.

if PCIE

config PCIE_MSI
	bool "Enable support for PCI(e) MSI"
	help
	  Use Message-Signaled Interrupts where possible. With this option
	  enabled, PCI(e) devices which support MSI will be configured (at
	  runtime) to use them. This is typically required for PCIe devices
	  to generate interrupts at all.

config PCIE_SHELL
	bool "Enable PCIe/new PCI Shell"
	depends on SHELL
	help
	  Enable commands for debugging PCI(e) using the built-in shell.

endif # PCIE
