STRUCT IOMMUFD_VEVENT_HEADER(9)
π NAME π
okay so welcome to the Kernel API Manual, bestie β this page is struct iommufd_vevent_header(9) (the running header up top truncates it all cute-like as struct iommu...event_header(9), don't let that jump-scare you). It's the Virtual Event Header for a vEVENTQ Status. yes, that is literally the whole job. she's a header. she reports things. iconic.
β¨ SYNOPSIS β¨
struct iommufd_vevent_header {
__u32 flags;
__u32 sequence;
};
two __u32s. that's the whole struct. tiny queen, massive responsibilities π
π Members π
flagsβ a combination ofenum iommu_veventq_flag. like a little bitmask mood ring πsequenceβ the sequence index of a vEVENT in the vEVENTQ, with a range of[0, INT_MAX], where the following index ofINT_MAXis0. so yeah, it wraps.INT_MAXain't the end, it's just the last stop before we loop back to0π
πΈ Description πΈ
okay so here's the vibe: each iommufd_vevent_header reports a sequence index of the following vEVENT. picture it like this π
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β header0 {sequence=0} data0 header1 {sequence=1} data1 ... dataN β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
and this sequence index is expected to be monotonic to the sequence index of the previous vEVENT. meaning: it goes up, it doesn't do chaotic little backwards flips. fr fr.
if two adjacent sequence indexes has a delta larger than 1, it means that delta - 1 number of vEVENTs has lost β e.g. two lost vEVENTs: π so if you see a jump, count the gap and that's how many events ghosted you.
and if a vEVENT lost at the tail of the vEVENTQ and there is no following vEVENT providing the next sequence index, an IOMMU_VEVENTQ_FLAG_LOST_EVENTS header would be added to the tail, and no data would follow this header. so the last one's a little flag-only announcement, no payload attached. she said "just so you know" and left π«Ά
π¦ SEE ALSO π¦
the whole group chat, in order, no one left out π
Kernel file ./include/uapi/linux/iommufd.hGeneral 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)enum iommufd_ioas_map_flags(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)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, no cap. she lives in./include/uapi/linux, she's stamped October 2026, and the footer insists on spelling herselfstruct iommu...event_header(9)one more time for the cheap seats. mwah π go read the rest of the kernel, bestie πβ
π¦ 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