# SPDX-License-Identifier: GPL-2.0-only
config VFIO_PCI
	tristate "VFIO support for PCI devices"
	depends on VFIO && PCI && EVENTFD
	select VFIO_VIRQFD
	select IRQ_BYPASS_MANAGER
	help
	  Support for the PCI VFIO bus driver.  This is required to make
	  use of PCI drivers using the VFIO framework.

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

config VFIO_PCI_VGA
	bool "VFIO PCI support for VGA devices"
	depends on VFIO_PCI && X86 && VGA_ARB
	help
	  Support for VGA extension to VFIO PCI.  This exposes an additional
	  region on VGA devices for accessing legacy VGA addresses used by
	  BIOS and generic video drivers.

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

config VFIO_PCI_MMAP
	depends on VFIO_PCI
	def_bool y if !S390

config VFIO_PCI_INTX
	depends on VFIO_PCI
	def_bool y if !S390

config VFIO_PCI_IGD
	bool "VFIO PCI extensions for Intel graphics (GVT-d)"
	depends on VFIO_PCI && X86
	default y
	help
	  Support for Intel IGD specific extensions to enable direct
	  assignment to virtual machines.  This includes exposing an IGD
	  specific firmware table and read-only copies of the host bridge
	  and LPC bridge config space.

	  To enable Intel IGD assignment through vfio-pci, say Y.

config VFIO_PCI_NVLINK2
	def_bool y
	depends on VFIO_PCI && PPC_POWERNV
	help
	  VFIO PCI support for P9 Witherspoon machine with NVIDIA V100 GPUs
