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