drivers/iommu/iommufd/Kconfig

Source file repositories/reference/linux-study-clean/drivers/iommu/iommufd/Kconfig

File Facts

System
Linux kernel
Corpus path
drivers/iommu/iommufd/Kconfig
Extension
[no extension]
Size
1710 bytes
Lines
52
Domain
Driver Families
Bucket
drivers/iommu
Inferred role
Driver Families: build/configuration rule
Status
atlas-only

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: GPL-2.0-only
config IOMMUFD_DRIVER_CORE
	bool
	default (IOMMUFD_DRIVER || IOMMUFD) if IOMMUFD!=n

config IOMMUFD
	tristate "IOMMU Userspace API"
	select INTERVAL_TREE
	select INTERVAL_TREE_SPAN_ITER
	select IOMMU_API
	default n
	help
	  Provides /dev/iommu, the user API to control the IOMMU subsystem as
	  it relates to managing IO page tables that point at user space memory.

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

if IOMMUFD
config IOMMUFD_VFIO_CONTAINER
	bool "IOMMUFD provides the VFIO container /dev/vfio/vfio"
	depends on VFIO_GROUP && !VFIO_CONTAINER
	default VFIO_GROUP && !VFIO_CONTAINER
	help
	  IOMMUFD will provide /dev/vfio/vfio instead of VFIO. This relies on
	  IOMMUFD providing compatibility emulation to give the same ioctls.
	  It provides an option to build a kernel with legacy VFIO components
	  removed.

	  IOMMUFD VFIO container emulation is known to lack certain features
	  of the native VFIO container, such as peer-to-peer
	  DMA mapping, PPC IOMMU support, as well as other potentially
	  undiscovered gaps.  This option is currently intended for the
	  purpose of testing IOMMUFD with unmodified userspace supporting VFIO
	  and making use of the Type1 VFIO IOMMU backend.  General purpose
	  enabling of this option is currently discouraged.

	  Unless testing IOMMUFD, say N here.

config IOMMUFD_TEST
	bool "IOMMU Userspace API Test support"
	depends on DEBUG_KERNEL
	depends on FAULT_INJECTION
	depends on RUNTIME_TESTING_MENU
	depends on IOMMU_PT_AMDV1=y || IOMMUFD=IOMMU_PT_AMDV1
	select DMA_SHARED_BUFFER
	select IOMMUFD_DRIVER
	default n
	help
	  This is dangerous, do not enable unless running
	  tools/testing/selftests/iommu
endif

Annotation

Implementation Notes