IOMMUs
IOMMUs, or input-output memory management units, are hardware components that provide address translation and protection for DMA operations performed by I/O devices. By isolating device memory accesses from the host memory, IOMMUs help prevent devices from interfering with each other or with the kernel, improving stability and security in systems with DMA-capable peripherals.
IOMMUs translate addresses used by devices (IO addresses) to physical host memory addresses, typically via a
Implementations include Intel VT-d (Virtualization Technology for Directed I/O), AMD-Vi (IOMMU), and ARM's SMMU. These units
Use cases include virtualization and device pass-through. By enabling DMA remapping and, if supported, PCIe device
Operationally, enabling IOMMUs typically requires enabling BIOS/firmware options and kernel support (e.g., VFIO on Linux). Misconfigurations