ENUM RISCV_IOMMU_DDTP_MODES(9)
β¨ enum riscv_iommu_ddtp_modes(9) β¨
okay bestie, welcome to the manpage for enum riscv_iommu_ddtp_modes(9) β that's the kernel API doc for this little enum that tells the RISC-V IOMMU how it should be translating stuff. It's giving "translation mode selector" energy and honestly it ate π
π NAME π
enum riscv_iommu_ddtp_modes β IOMMU translation modes. that's literally it. the vibes menu for how your IOMMU does its thing β¨
π¦ SYNOPSIS π¦
here's the shape of the whole enum, copied exactly so you can trust me fr fr:
enum riscv_iommu_ddtp_modes {
RISCV_IOMMU_DDTP_IOMMU_MODE_OFF ,
RISCV_IOMMU_DDTP_IOMMU_MODE_BARE ,
RISCV_IOMMU_DDTP_IOMMU_MODE_1LVL ,
RISCV_IOMMU_DDTP_IOMMU_MODE_2LVL ,
RISCV_IOMMU_DDTP_IOMMU_MODE_3LVL ,
RISCV_IOMMU_DDTP_IOMMU_MODE_MAX
};
like, look at her. six constants. main character lineup π
π Constants π
okay so let's do a vibe check on each one, in order, no skipping (i would never π):
RISCV_IOMMU_DDTP_IOMMU_MODE_OFFβ no inbound transactions allowed. that's it, doors closed, we're not accepting visitors πRISCV_IOMMU_DDTP_IOMMU_MODE_BAREβ pass-through mode. no translation, just vibes, come on through π«ΆRISCV_IOMMU_DDTP_IOMMU_MODE_1LVLβ one-level DDT. single layer, lowkey simple β¨RISCV_IOMMU_DDTP_IOMMU_MODE_2LVLβ two-level DDT. now we're stacking πRISCV_IOMMU_DDTP_IOMMU_MODE_3LVLβ three-level DDT. three layers, highkey extra πRISCV_IOMMU_DDTP_IOMMU_MODE_MAXβ the max value allowed by specification. the ceiling, the limit, the final boss π
π SEE ALSO π
bestie, there is SO much more lore where this came from. the kernel file is ./drivers/iommu/riscv/iommu-bits.h (that's the enum source, iykyk) and you're gonna want to go read these next:
enum riscv_iommu_igs_settings(9)enum riscv_iommu_hpmevent_id(9)struct riscv_iommu_dc(9)enum riscv_iommu_dc_iohgatp_modes(9)enum riscv_iommu_dc_fsc_atp_modes(9)struct riscv_iommu_pc(9)struct riscv_iommu_command(9)struct riscv_iommu_fq_record(9)enum riscv_iommu_fq_causes(9)enum riscv_iommu_fq_ttypes(9)struct riscv_iommu_pq_record(9)struct riscv_iommu_msipte(9)
ngl, this page is short but it's iconic. six modes, one enum, zero notes. periodt π
and that's the whole thing, bestie β big slay, no cap πΈ
signing off from ./drivers/iommu/riscv, dated October 2026, brought to you by the enum riscv_iommu_ddtp_modes(9) manual page πβ¨π¦
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms