drivers/iommu/riscv

RISC-V IOMMU controllers

Implements support for the RISC-V architecture's standard IOMMU specification, the unit that translates and isolates DMA from devices on RISC-V systems. It covers both platform-integrated IOMMUs and a PCI-attached variant (matching QEMU's reference 1b36:0014 device and other real silicon IDs), and is used by virtual machines and the first generation of RISC-V servers and SoCs shipping in 2025.

keep conf=0.80 deploy=low replacement=none subsystem=iommu category=bus-other
80%

recommendation

It should stay in the kernel because it is brand-new code (merged in Linux 6.13, late 2024) that enables a freshly ratified RISC-V architectural feature, with active commits continuing through early 2026. Both QEMU's virt machine and emerging RISC-V silicon expose these IOMMUs via platform/DT, ACPI, and PCI bindings, so the driver is on the growth curve, not the decline curve.

repository signals

7 files
2,862 source lines
24 commits, 5y
+2,966 / −81 lines added / removed, 5y
12 authors, 5y
monthly commits · 2021-04-21 → 2026-04-21 · 24 total · active in 11/61 months
2021 2022 2023 2024 2025 2026 2021-04: 0 commits · +0 −0 2021-05: 0 commits · +0 −0 2021-06: 0 commits · +0 −0 2021-07: 0 commits · +0 −0 2021-08: 0 commits · +0 −0 2021-09: 0 commits · +0 −0 2021-10: 0 commits · +0 −0 2021-11: 0 commits · +0 −0 2021-12: 0 commits · +0 −0 2022-01: 0 commits · +0 −0 2022-02: 0 commits · +0 −0 2022-03: 0 commits · +0 −0 2022-04: 0 commits · +0 −0 2022-05: 0 commits · +0 −0 2022-06: 0 commits · +0 −0 2022-07: 0 commits · +0 −0 2022-08: 0 commits · +0 −0 2022-09: 0 commits · +0 −0 2022-10: 0 commits · +0 −0 2022-11: 0 commits · +0 −0 2022-12: 0 commits · +0 −0 2023-01: 0 commits · +0 −0 2023-02: 0 commits · +0 −0 2023-03: 0 commits · +0 −0 2023-04: 0 commits · +0 −0 2023-05: 0 commits · +0 −0 2023-06: 0 commits · +0 −0 2023-07: 0 commits · +0 −0 2023-08: 0 commits · +0 −0 2023-09: 0 commits · +0 −0 2023-10: 0 commits · +0 −0 2023-11: 0 commits · +0 −0 2023-12: 0 commits · +0 −0 2024-01: 0 commits · +0 −0 2024-02: 0 commits · +0 −0 2024-03: 0 commits · +0 −0 2024-04: 0 commits · +0 −0 2024-05: 0 commits · +0 −0 2024-06: 0 commits · +0 −0 2024-07: 0 commits · +0 −0 2024-08: 0 commits · +0 −0 2024-09: 0 commits · +0 −0 2024-10: 6 commits · +2,789 −21 2024-11: 1 commit · +84 −18 2024-12: 1 commit · +1 −1 2025-01: 3 commits · +26 −3 2025-02: 0 commits · +0 −0 2025-03: 0 commits · +0 −0 2025-04: 5 commits · +22 −21 2025-05: 1 commit · +1 −1 2025-06: 1 commit · +0 −1 2025-07: 0 commits · +0 −0 2025-08: 2 commits · +27 −2 2025-09: 0 commits · +0 −0 2025-10: 1 commit · +6 −3 2025-11: 0 commits · +0 −0 2025-12: 0 commits · +0 −0 2026-01: 1 commit · +4 −4 2026-02: 2 commits · +6 −6 2026-03: 0 commits · +0 −0 2026-04: 0 commits · +0 −0

sources

  1. git.kernel.org

    Upstream activity is recent and ongoing for this directory; local `git log` in the kernel snapshot showed substantive touches through 2026-01-26, consistent with an actively maintained driver.

  2. cateee.net

    The driver is very new in mainline (found in Linux 6.13-6.19) and binds both platform/DT and ACPI-described RISC-V IOMMU devices, indicating current rather than legacy hardware enablement.

  3. cateee.net

    The PCI companion support is present in current kernels and matches both QEMU's reference PCI ID 1b36:0014 and another PCI ID 1efd:0008, showing active deployment targets beyond a dead one-off prototype.

  4. qemu.org

    QEMU documents both PCI and platform RISC-V IOMMU devices for the `virt` machine and states Linux support was merged in v6.13, showing ongoing VM/test and new-platform deployment relevance.

codex reasoning notes (technical)

Not an early-exit case: this directory contains real platform/PCI IOMMU driver code. Recommendation is `keep` because the driver is only about 1.5 years old, local shell inspection found builtin platform and PCI drivers plus recent commits through 2026-01-26, and web search found current LKDDb/QEMU evidence of active enablement. No removal/deprecation discussion was found in lore web searches, so there is no basis to escalate to `remove` or `deprecate`. URL acquisition: kernel.org log URL via canonical recall, with recency validated by local shell `git log`; LKDDb and QEMU URLs obtained via web search.