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