162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
262306a36Sopenharmony_cimenu "VFIO support for PCI devices"
362306a36Sopenharmony_ci	depends on PCI && MMU
462306a36Sopenharmony_ci
562306a36Sopenharmony_ciconfig VFIO_PCI_CORE
662306a36Sopenharmony_ci	tristate
762306a36Sopenharmony_ci	select VFIO_VIRQFD
862306a36Sopenharmony_ci	select IRQ_BYPASS_MANAGER
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciconfig VFIO_PCI_MMAP
1162306a36Sopenharmony_ci	def_bool y if !S390
1262306a36Sopenharmony_ci	depends on VFIO_PCI_CORE
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciconfig VFIO_PCI_INTX
1562306a36Sopenharmony_ci	def_bool y if !S390
1662306a36Sopenharmony_ci	depends on VFIO_PCI_CORE
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciconfig VFIO_PCI
1962306a36Sopenharmony_ci	tristate "Generic VFIO support for any PCI device"
2062306a36Sopenharmony_ci	select VFIO_PCI_CORE
2162306a36Sopenharmony_ci	help
2262306a36Sopenharmony_ci	  Support for the generic PCI VFIO bus driver which can connect any
2362306a36Sopenharmony_ci	  PCI device to the VFIO framework.
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci	  If you don't know what to do here, say N.
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciif VFIO_PCI
2862306a36Sopenharmony_ciconfig VFIO_PCI_VGA
2962306a36Sopenharmony_ci	bool "Generic VFIO PCI support for VGA devices"
3062306a36Sopenharmony_ci	depends on X86 && VGA_ARB
3162306a36Sopenharmony_ci	help
3262306a36Sopenharmony_ci	  Support for VGA extension to VFIO PCI.  This exposes an additional
3362306a36Sopenharmony_ci	  region on VGA devices for accessing legacy VGA addresses used by
3462306a36Sopenharmony_ci	  BIOS and generic video drivers.
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci	  If you don't know what to do here, say N.
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ciconfig VFIO_PCI_IGD
3962306a36Sopenharmony_ci	bool "Generic VFIO PCI extensions for Intel graphics (GVT-d)"
4062306a36Sopenharmony_ci	depends on X86
4162306a36Sopenharmony_ci	default y
4262306a36Sopenharmony_ci	help
4362306a36Sopenharmony_ci	  Support for Intel IGD specific extensions to enable direct
4462306a36Sopenharmony_ci	  assignment to virtual machines.  This includes exposing an IGD
4562306a36Sopenharmony_ci	  specific firmware table and read-only copies of the host bridge
4662306a36Sopenharmony_ci	  and LPC bridge config space.
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci	  To enable Intel IGD assignment through vfio-pci, say Y.
4962306a36Sopenharmony_ciendif
5062306a36Sopenharmony_ci
5162306a36Sopenharmony_ciconfig VFIO_PCI_ZDEV_KVM
5262306a36Sopenharmony_ci	bool "VFIO PCI extensions for s390x KVM passthrough"
5362306a36Sopenharmony_ci	depends on S390 && KVM
5462306a36Sopenharmony_ci	default y
5562306a36Sopenharmony_ci	help
5662306a36Sopenharmony_ci	  Support s390x-specific extensions to enable support for enhancements
5762306a36Sopenharmony_ci	  to KVM passthrough capabilities, such as interpretive execution of
5862306a36Sopenharmony_ci	  zPCI instructions.
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci	  To enable s390x KVM vfio-pci extensions, say Y.
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_cisource "drivers/vfio/pci/mlx5/Kconfig"
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_cisource "drivers/vfio/pci/hisilicon/Kconfig"
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_cisource "drivers/vfio/pci/pds/Kconfig"
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ciendmenu
69