blob: fd17db9b432f4d91dc45bf356edda38c1fd9974f [file] [log] [blame]
David Brazdil0f672f62019-12-10 10:32:29 +00001# SPDX-License-Identifier: GPL-2.0-only
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00002config VFIO_IOMMU_TYPE1
3 tristate
4 depends on VFIO
5 default n
6
7config VFIO_IOMMU_SPAPR_TCE
8 tristate
9 depends on VFIO && SPAPR_TCE_IOMMU
10 default VFIO
11
12config VFIO_SPAPR_EEH
13 tristate
14 depends on EEH && VFIO_IOMMU_SPAPR_TCE
15 default VFIO
16
17config VFIO_VIRQFD
18 tristate
19 depends on VFIO && EVENTFD
20 default n
21
22menuconfig VFIO
23 tristate "VFIO Non-Privileged userspace driver framework"
24 depends on IOMMU_API
David Brazdil0f672f62019-12-10 10:32:29 +000025 select VFIO_IOMMU_TYPE1 if (X86 || S390 || ARM || ARM64)
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000026 help
27 VFIO provides a framework for secure userspace device drivers.
David Brazdil0f672f62019-12-10 10:32:29 +000028 See Documentation/driver-api/vfio.rst for more details.
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000029
30 If you don't know what to do here, say N.
31
32menuconfig VFIO_NOIOMMU
33 bool "VFIO No-IOMMU support"
34 depends on VFIO
35 help
36 VFIO is built on the ability to isolate devices using the IOMMU.
37 Only with an IOMMU can userspace access to DMA capable devices be
38 considered secure. VFIO No-IOMMU mode enables IOMMU groups for
39 devices without IOMMU backing for the purpose of re-using the VFIO
40 infrastructure in a non-secure mode. Use of this mode will result
41 in an unsupportable kernel and will therefore taint the kernel.
42 Device assignment to virtual machines is also not possible with
43 this mode since there is no IOMMU to provide DMA translation.
44
45 If you don't know what to do here, say N.
46
47source "drivers/vfio/pci/Kconfig"
48source "drivers/vfio/platform/Kconfig"
49source "drivers/vfio/mdev/Kconfig"
50source "virt/lib/Kconfig"