18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ciconfig VFIO_IOMMU_TYPE1 38c2ecf20Sopenharmony_ci tristate 48c2ecf20Sopenharmony_ci depends on VFIO 58c2ecf20Sopenharmony_ci default n 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ciconfig VFIO_IOMMU_SPAPR_TCE 88c2ecf20Sopenharmony_ci tristate 98c2ecf20Sopenharmony_ci depends on VFIO && SPAPR_TCE_IOMMU 108c2ecf20Sopenharmony_ci default VFIO 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciconfig VFIO_SPAPR_EEH 138c2ecf20Sopenharmony_ci tristate 148c2ecf20Sopenharmony_ci depends on EEH && VFIO_IOMMU_SPAPR_TCE 158c2ecf20Sopenharmony_ci default VFIO 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ciconfig VFIO_VIRQFD 188c2ecf20Sopenharmony_ci tristate 198c2ecf20Sopenharmony_ci depends on VFIO && EVENTFD 208c2ecf20Sopenharmony_ci default n 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_cimenuconfig VFIO 238c2ecf20Sopenharmony_ci tristate "VFIO Non-Privileged userspace driver framework" 248c2ecf20Sopenharmony_ci select IOMMU_API 258c2ecf20Sopenharmony_ci select VFIO_IOMMU_TYPE1 if MMU && (X86 || S390 || ARM || ARM64 || LOONGARCH) 268c2ecf20Sopenharmony_ci help 278c2ecf20Sopenharmony_ci VFIO provides a framework for secure userspace device drivers. 288c2ecf20Sopenharmony_ci See Documentation/driver-api/vfio.rst for more details. 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci If you don't know what to do here, say N. 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ciconfig VFIO_NOIOMMU 338c2ecf20Sopenharmony_ci bool "VFIO No-IOMMU support" 348c2ecf20Sopenharmony_ci depends on VFIO 358c2ecf20Sopenharmony_ci help 368c2ecf20Sopenharmony_ci VFIO is built on the ability to isolate devices using the IOMMU. 378c2ecf20Sopenharmony_ci Only with an IOMMU can userspace access to DMA capable devices be 388c2ecf20Sopenharmony_ci considered secure. VFIO No-IOMMU mode enables IOMMU groups for 398c2ecf20Sopenharmony_ci devices without IOMMU backing for the purpose of re-using the VFIO 408c2ecf20Sopenharmony_ci infrastructure in a non-secure mode. Use of this mode will result 418c2ecf20Sopenharmony_ci in an unsupportable kernel and will therefore taint the kernel. 428c2ecf20Sopenharmony_ci Device assignment to virtual machines is also not possible with 438c2ecf20Sopenharmony_ci this mode since there is no IOMMU to provide DMA translation. 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci If you don't know what to do here, say N. 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_cisource "drivers/vfio/pci/Kconfig" 488c2ecf20Sopenharmony_cisource "drivers/vfio/platform/Kconfig" 498c2ecf20Sopenharmony_cisource "drivers/vfio/mdev/Kconfig" 508c2ecf20Sopenharmony_cisource "drivers/vfio/fsl-mc/Kconfig" 518c2ecf20Sopenharmony_cisource "virt/lib/Kconfig" 52