ENUM IOMMUFD_IOAS_MAP_FLAGS(9)
π 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
- 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