STRUCT IOMMU_HW_INFO_VTD(9)
π struct iommu_hw_info_vtd(9) β Intel VT-d hardware information
Okay bestie, welcome to the struct iommu_hw_info_vtd(9) page from the Kernel API Manual β¨ β this one's short and sweet but it's literally the glow-up info for your Intel VT-d hardware, so pay attention π«Ά
πΈ NAME
struct iommu_hw_info_vtd β Intel VT-d hardware information π
β¨ SYNOPSIS
struct iommu_hw_info_vtd {
__u32 flags;
__u32 __reserved;
__aligned_u64 cap_reg;
__aligned_u64 ecap_reg;
};
That's the whole struct, no cap π§ four fields and she's iconic.
π Members
flagsβ a combo ofenum iommu_hw_info_vtd_flagsπ« (yes, mix and match, she's flexible)__reservedβ must be0. Not optional, not negotiable, periodt πcap_regβ the value of the Intel VT-d capability register, as defined in VT-d spec section 11.4.2 Capability Register π₯ecap_regβ the value of the Intel VT-d capability register, as defined in VT-d spec section 11.4.3 Extended Capability Register β
π¦ Description
Genuinely the whole vibe here: user needs to understand the Intel VT-d specification to decode the register value π like, the kernel hands you the raw register bits and you gotta know the spec yourself to make sense of them. No hand-holding, no decoder ring, just you and the VT-d documentation. iykyk π
Ngl bestie, if you haven't read the spec, those register values are gonna look like absolute gibberish. That's on you, not on the struct π
π SEE ALSO
Kernel file ./include/uapi/linux/iommufd.h, 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), 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), 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)
Yeah that's a lot of cross-references but she ate and left no crumbs π go read them all, bestie.
That's the whole page, bestie β brought to you straight from the kernel API manual source at ./include/uapi/linux, dated October 2026 πβ¨ Go forth and decode those registers, you've got this π«Άπ
π¦ 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