xref: /openbmc/linux/drivers/vfio/Kconfig (revision 8730046c)
1config VFIO_IOMMU_TYPE1
2	tristate
3	depends on VFIO
4	default n
5
6config VFIO_IOMMU_SPAPR_TCE
7	tristate
8	depends on VFIO && SPAPR_TCE_IOMMU
9	default n
10
11config VFIO_SPAPR_EEH
12	tristate
13	depends on EEH && VFIO_IOMMU_SPAPR_TCE
14	default n
15
16config VFIO_VIRQFD
17	tristate
18	depends on VFIO && EVENTFD
19	default n
20
21menuconfig VFIO
22	tristate "VFIO Non-Privileged userspace driver framework"
23	depends on IOMMU_API
24	select VFIO_IOMMU_TYPE1 if (X86 || S390 || ARM_SMMU || ARM_SMMU_V3)
25	select VFIO_IOMMU_SPAPR_TCE if (PPC_POWERNV || PPC_PSERIES)
26	select VFIO_SPAPR_EEH if (PPC_POWERNV || PPC_PSERIES)
27	select ANON_INODES
28	help
29	  VFIO provides a framework for secure userspace device drivers.
30	  See Documentation/vfio.txt for more details.
31
32	  If you don't know what to do here, say N.
33
34menuconfig VFIO_NOIOMMU
35	bool "VFIO No-IOMMU support"
36	depends on VFIO
37	help
38	  VFIO is built on the ability to isolate devices using the IOMMU.
39	  Only with an IOMMU can userspace access to DMA capable devices be
40	  considered secure.  VFIO No-IOMMU mode enables IOMMU groups for
41	  devices without IOMMU backing for the purpose of re-using the VFIO
42	  infrastructure in a non-secure mode.  Use of this mode will result
43	  in an unsupportable kernel and will therefore taint the kernel.
44	  Device assignment to virtual machines is also not possible with
45	  this mode since there is no IOMMU to provide DMA translation.
46
47	  If you don't know what to do here, say N.
48
49source "drivers/vfio/pci/Kconfig"
50source "drivers/vfio/platform/Kconfig"
51source "drivers/vfio/mdev/Kconfig"
52source "virt/lib/Kconfig"
53