config VFIO_IOMMU_TYPE1
	tristate
	depends on VFIO
	default n

config VFIO_IOMMU_SPAPR_TCE
	tristate
	depends on VFIO && SPAPR_TCE_IOMMU
	default VFIO

config VFIO_SPAPR_EEH
	tristate
	depends on EEH && VFIO_IOMMU_SPAPR_TCE
	default VFIO

config VFIO_VIRQFD
	tristate
	depends on VFIO && EVENTFD
	default n

menuconfig VFIO
	tristate "VFIO Non-Privileged userspace driver framework"
	depends on IOMMU_API
	select VFIO_IOMMU_TYPE1 if (X86 || S390 || ARM_SMMU || ARM_SMMU_V3)
	help
	  VFIO provides a framework for secure userspace device drivers.
	  See Documentation/vfio.txt for more details.

	  If you don't know what to do here, say N.

config VFIO_NOIOMMU
	bool "VFIO No-IOMMU support"
	depends on VFIO
	help
	  VFIO is built on the ability to isolate devices using the IOMMU.
	  Only with an IOMMU can userspace access to DMA capable devices be
	  considered secure.  VFIO No-IOMMU mode enables IOMMU groups for
	  devices without IOMMU backing for the purpose of re-using the VFIO
	  infrastructure in a non-secure mode.  Use of this mode will result
	  in an unsupportable kernel and will therefore taint the kernel.
	  Device assignment to virtual machines is also not possible with
	  this mode since there is no IOMMU to provide DMA translation.

	  If you don't know what to do here, say N.

source "drivers/vfio/pci/Kconfig"
source "drivers/vfio/platform/Kconfig"
source "drivers/vfio/mdev/Kconfig"
source "virt/lib/Kconfig"
