1# SPDX-License-Identifier: GPL-2.0-only
2menu "VFIO support for PCI devices"
3	depends on PCI && MMU
4
5config VFIO_PCI_CORE
6	tristate
7	select VFIO_VIRQFD
8	select IRQ_BYPASS_MANAGER
9
10config VFIO_PCI_MMAP
11	def_bool y if !S390
12	depends on VFIO_PCI_CORE
13
14config VFIO_PCI_INTX
15	def_bool y if !S390
16	depends on VFIO_PCI_CORE
17
18config VFIO_PCI
19	tristate "Generic VFIO support for any PCI device"
20	select VFIO_PCI_CORE
21	help
22	  Support for the generic PCI VFIO bus driver which can connect any
23	  PCI device to the VFIO framework.
24
25	  If you don't know what to do here, say N.
26
27if VFIO_PCI
28config VFIO_PCI_VGA
29	bool "Generic VFIO PCI support for VGA devices"
30	depends on X86 && VGA_ARB
31	help
32	  Support for VGA extension to VFIO PCI.  This exposes an additional
33	  region on VGA devices for accessing legacy VGA addresses used by
34	  BIOS and generic video drivers.
35
36	  If you don't know what to do here, say N.
37
38config VFIO_PCI_IGD
39	bool "Generic VFIO PCI extensions for Intel graphics (GVT-d)"
40	depends on X86
41	default y
42	help
43	  Support for Intel IGD specific extensions to enable direct
44	  assignment to virtual machines.  This includes exposing an IGD
45	  specific firmware table and read-only copies of the host bridge
46	  and LPC bridge config space.
47
48	  To enable Intel IGD assignment through vfio-pci, say Y.
49endif
50
51config VFIO_PCI_ZDEV_KVM
52	bool "VFIO PCI extensions for s390x KVM passthrough"
53	depends on S390 && KVM
54	default y
55	help
56	  Support s390x-specific extensions to enable support for enhancements
57	  to KVM passthrough capabilities, such as interpretive execution of
58	  zPCI instructions.
59
60	  To enable s390x KVM vfio-pci extensions, say Y.
61
62source "drivers/vfio/pci/mlx5/Kconfig"
63
64source "drivers/vfio/pci/hisilicon/Kconfig"
65
66source "drivers/vfio/pci/pds/Kconfig"
67
68endmenu
69