ENUM RISCV_IOMMU_IGS_SETTINGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– ENUM RISCV_IOMMU_IGS_SETTINGS πŸ’–

okay so bestie, welcome to the Kernel API Manual ✨ this one's a lil baby page but she's important, she's literally the enum riscv_iommu_igs_settings and she's here to tell you how the RISC-V IOMMU is allowed to generate interrupts. Interrupt Generation Support Settings, iykyk πŸŽ€

This is the interrupt-generation vibe check: the IOMMU can poke you with MSI, or with Wired-Signaled interrupts, or honestly both, or it can be the mysterious reserved one πŸ‘€


✨ NAME ✨

enum riscv_iommu_igs_settings β€” Interrupt Generation Support Settings. that's the whole name, that's the whole job 🫢


🌸 SYNOPSIS 🌸

enum riscv_iommu_igs_settings {
    RISCV_IOMMU_CAPABILITIES_IGS_MSI ,
    RISCV_IOMMU_CAPABILITIES_IGS_WSI ,
    RISCV_IOMMU_CAPABILITIES_IGS_BOTH ,
    RISCV_IOMMU_CAPABILITIES_IGS_RSRV

};

like, four members, all caps, all iconic πŸ‘‘


πŸ’… CONSTANTS πŸ’…

so here's the lineup β€” one bullet per member, no skipping, that's the rule fr fr:

  • RISCV_IOMMU_CAPABILITIES_IGS_MSI β€” the IOMMU supports only MSI generation. MSI girlies only, no WSI, periodt πŸ’«
  • RISCV_IOMMU_CAPABILITIES_IGS_WSI β€” the IOMMU supports only Wired-Signaled interrupt. wired-signaled supremacy, nothing else 😌
  • RISCV_IOMMU_CAPABILITIES_IGS_BOTH β€” the IOMMU supports both MSI and WSI generation. she's flexible, she's multi-talented, main character energy πŸ”₯
  • RISCV_IOMMU_CAPABILITIES_IGS_RSRV β€” Reserved for standard use. not for you, bestie, hands off πŸ™ˆ

πŸ¦‹ SEE ALSO πŸ¦‹

okay this is the friend group, they all live together:

  • Kernel file ./drivers/iommu/riscv/iommu-bits.h enum β€” that's where she lives, that's her house 🏠
  • riscv_iommu_ddtp_modes(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 the RISC-V IOMMU corner of the kernel is a whole friend group and this enum is just one of them β€” go read the rest, they all link up 🧚

✨ cute sign-off ✨

this gorgeous little page came out of ./drivers/iommu/riscv, dated October 2026, and the manual is the Kernel API Manual. slay, bye, go interrupt something πŸ’œπŸŒΈ

πŸ“¦ where this page comes from