1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only 2cba3345cSAlex Williamsonmenuconfig VFIO 3cba3345cSAlex Williamson tristate "VFIO Non-Privileged userspace driver framework" 4179209faSJason Gunthorpe select IOMMU_API 5b2b12db5SJason Gunthorpe select VFIO_IOMMU_TYPE1 if MMU && (X86 || S390 || ARM || ARM64) 6cba3345cSAlex Williamson help 7cba3345cSAlex Williamson VFIO provides a framework for secure userspace device drivers. 8baa293e9SMauro Carvalho Chehab See Documentation/driver-api/vfio.rst for more details. 9cba3345cSAlex Williamson 10cba3345cSAlex Williamson If you don't know what to do here, say N. 1189e1f7d4SAlex Williamson 12*85c94dcfSJason Gunthorpeif VFIO 13*85c94dcfSJason Gunthorpeconfig VFIO_IOMMU_TYPE1 14*85c94dcfSJason Gunthorpe tristate 15*85c94dcfSJason Gunthorpe default n 16*85c94dcfSJason Gunthorpe 17*85c94dcfSJason Gunthorpeconfig VFIO_IOMMU_SPAPR_TCE 18*85c94dcfSJason Gunthorpe tristate 19*85c94dcfSJason Gunthorpe depends on SPAPR_TCE_IOMMU 20*85c94dcfSJason Gunthorpe default VFIO 21*85c94dcfSJason Gunthorpe 22*85c94dcfSJason Gunthorpeconfig VFIO_SPAPR_EEH 23*85c94dcfSJason Gunthorpe tristate 24*85c94dcfSJason Gunthorpe depends on EEH && VFIO_IOMMU_SPAPR_TCE 25*85c94dcfSJason Gunthorpe default VFIO 26*85c94dcfSJason Gunthorpe 27*85c94dcfSJason Gunthorpeconfig VFIO_VIRQFD 28*85c94dcfSJason Gunthorpe tristate 29*85c94dcfSJason Gunthorpe select EVENTFD 30*85c94dcfSJason Gunthorpe default n 31*85c94dcfSJason Gunthorpe 3226c22cfdSJason Gunthorpeconfig VFIO_NOIOMMU 3303a76b60SAlex Williamson bool "VFIO No-IOMMU support" 3403a76b60SAlex Williamson help 3503a76b60SAlex Williamson VFIO is built on the ability to isolate devices using the IOMMU. 3603a76b60SAlex Williamson Only with an IOMMU can userspace access to DMA capable devices be 3703a76b60SAlex Williamson considered secure. VFIO No-IOMMU mode enables IOMMU groups for 3803a76b60SAlex Williamson devices without IOMMU backing for the purpose of re-using the VFIO 3903a76b60SAlex Williamson infrastructure in a non-secure mode. Use of this mode will result 4003a76b60SAlex Williamson in an unsupportable kernel and will therefore taint the kernel. 4103a76b60SAlex Williamson Device assignment to virtual machines is also not possible with 4203a76b60SAlex Williamson this mode since there is no IOMMU to provide DMA translation. 4303a76b60SAlex Williamson 4403a76b60SAlex Williamson If you don't know what to do here, say N. 4503a76b60SAlex Williamson 4689e1f7d4SAlex Williamsonsource "drivers/vfio/pci/Kconfig" 4753161532SAntonios Motakissource "drivers/vfio/platform/Kconfig" 487b96953bSKirti Wankhedesource "drivers/vfio/mdev/Kconfig" 49fb1ff4c1SBharat Bhushansource "drivers/vfio/fsl-mc/Kconfig" 50*85c94dcfSJason Gunthorpeendif 51*85c94dcfSJason Gunthorpe 526d7425f1SFeng Wusource "virt/lib/Kconfig" 53