ENUM IOMMUFD_IOAS_MAP_FLAGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… enum iommufd_ioas_map_flags(9) β€” like, the manual page, bestie ✨

Okay so this is the enum iommufd_ioas_map_flags(9) page from the Kernel API Manual, and it's honestly shorter than my attention span but SO important, so buckle up πŸŽ€


🌸 NAME 🌸

enum iommufd_ioas_map_flags β€” the flags you pass for map and copy operations, periodt πŸ’…


✨ SYNOPSIS ✨

Here's the whole enum, laid out exactly how the kernel header has it β€” no notes, no edits, she's perfect as she is:

enum iommufd_ioas_map_flags {
    IOMMU_IOAS_MAP_FIXED_IOVA ,
    IOMMU_IOAS_MAP_WRITEABLE ,
    IOMMU_IOAS_MAP_READABLE

};

Three flags, all iconic, all doing different jobs 🌈


πŸ¦‹ Constants πŸ¦‹

These are the members, bestie, and each one is lowkey a whole personality πŸ‘‘

  • IOMMU_IOAS_MAP_FIXED_IOVA β€” if this one is clear, the kernel goes ahead and works out an appropriate IOVA all by itself to place the mapping at 🧚 (yes, it picks for you, main character behavior)
  • IOMMU_IOAS_MAP_WRITEABLE β€” DMA is allowed to write to this mapping ✍️πŸ”₯
  • IOMMU_IOAS_MAP_READABLE β€” DMA is allowed to read from this mapping πŸ‘€πŸ’–
ngl the whole vibe here is just "who's allowed to touch this mapping and where does it live" and honestly? respect πŸ™ˆ

πŸ‘‘ SEE ALSO πŸ‘‘

So the source of truth for the actual definitions lives in the kernel file ./include/uapi/linux/iommufd.h, and then there is a truly extensive friend group of related pages β€” like this enum is not alone, she has a whole squad 🫢 Here's every single one, no cap, not skipping a single bestie:

  • General ioctl format(9)
  • struct iommu_destroy(9)
  • struct iommu_ioas_alloc(9)
  • struct iommu_iova_range(9)
  • struct iommu_ioas_iova_ranges(9)
  • struct iommu_ioas_allow_iovas(9)
  • struct iommu_ioas_map(9)
  • struct iommu_ioas_noiommu_get_pa(9)
  • struct iommu_ioas_map_file(9)
  • struct iommu_ioas_copy(9)
  • struct iommu_ioas_unmap(9)
  • enum iommufd_option(9)
  • enum iommufd_option_ops(9)
  • struct iommu_option(9)
  • enum iommufd_vfio_ioas_op(9)
  • struct iommu_vfio_ioas(9)
  • enum iommufd_hwpt_alloc_flags(9)
  • enum iommu_hwpt_vtd_s1_flags(9)
  • struct iommu_hwpt_vtd_s1(9)
  • struct iommu_hwpt_arm_smmuv3(9)
  • struct iommu_hwpt_amd_guest(9)
  • enum iommu_hwpt_data_type(9)
  • struct iommu_hwpt_alloc(9)
  • enum iommu_hw_info_vtd_flags(9)
  • struct iommu_hw_info_vtd(9)
  • enum iommu_hw_info_arm_smmuv3_flags(9)
  • struct iommu_hw_info_arm_smmuv3(9)
  • struct iommu_hw_info_tegra241_cmdqv(9)
  • struct iommu_hw_info_amd(9)
  • enum iommu_hw_info_type(9)
  • enum iommufd_hw_capabilities(9)
  • enum iommufd_hw_info_flags(9)
  • struct iommu_hw_info(9)
  • struct iommu_hwpt_set_dirty_tracking(9)
  • enum iommufd_hwpt_get_dirty_bitmap_flags(9)
  • struct iommu_hwpt_get_dirty_bitmap(9)
  • enum iommu_hwpt_invalidate_data_type(9)
  • enum iommu_hwpt_vtd_s1_invalidate_flags(9)
  • struct iommu_hwpt_vtd_s1_invalidate(9)
  • struct iommu_viommu_arm_smmuv3_invalidate(9)
  • struct iommu_hwpt_invalidate(9)
  • enum iommu_hwpt_pgfault_flags(9)
  • enum iommu_hwpt_pgfault_perm(9)
  • struct iommu_hwpt_pgfault(9)
  • enum iommufd_page_response_code(9)
  • struct iommu_hwpt_page_response(9)
  • struct iommu_fault_alloc(9)
  • enum iommu_viommu_type(9)
  • struct iommu_viommu_tegra241_cmdqv(9)
  • struct iommu_viommu_alloc(9)
  • struct iommu_vdevice_alloc(9)
  • struct iommu_ioas_change_process(9)
  • enum iommu_veventq_flag(9)
  • struct iommufd_vevent_header(9)
  • enum iommu_veventq_type(9)
  • struct iommu_vevent_arm_smmuv3(9)
  • struct iommu_vevent_tegra241_cmdqv(9)
  • struct iommu_veventq_alloc(9)
  • enum iommu_hw_queue_type(9)
  • struct iommu_hw_queue_alloc(9)

That's the whole page, bestie, you ate that πŸ’– this one came out of ./include/uapi/linux and it's dated October 2026 β€” so yeah, future-coded and iconic ⭐ slay, go read iommufd.h πŸ¦‹

πŸ“¦ where this page comes from