STRUCT IOMMU_HW_INFO_TEGRA241_CMDQV(9)
๐ NAME ๐
okay bestie, welcome to the Kernel API Manual page for struct iommu_hw_info_tegra241_cmdqv โ NVIDIA Tegra241 CMDQV Hardware Information (IOMMU_HW_INFO_TYPE_TEGRA241_CMDQV). yes, the whole name is a mouthful, and no, we are not abbreviating it. periodt. ๐
โจ SYNOPSIS โจ
struct iommu_hw_info_tegra241_cmdqv {
__u32 flags;
__u8 version;
__u8 log2vcmdqs;
__u8 log2vsids;
__u8 __reserved;
};
๐ MEMBERS ๐
flagsโ must be0. not optional-zero, not "eh close enough" zero. literally0. no cap.versionโ the version number for the CMDQ-V HW, for PARAMbits[03:00]. it's giving "tiny field, important job" energy.log2vcmdqsโ log2 of the total number of VCMDQs, for PARAMbits[07:04]. yes bestie, log2. math said pull up. ๐งฎโจlog2vsidsโ log2 of the total number of SID replacements, for PARAMbits[15:12]. iconic little byte, honestly.__reservedโ must be0too. don't try to be cute with it. ๐
๐ DESCRIPTION ๐
so here's the tea: a VMM can use these fields directly in its emulated global PARAM register. main character struct behavior, fr fr. ๐
and note this, bestie: only one Virtual Interface (VINTF) should be exposed to a VM. i.e. PARAM bits[11:08] should be set to 0 for log2 of the total number of VINTFs. that's the vibe check. don't overexpose the VINTFs. ๐
๐ SEE ALSO ๐
the Kernel file is ./include/uapi/linux/iommufd.h, and the whole IOMMU bestie cluster is right here โ all of it, no skips, no crumbs:
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)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_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)
mwah ๐ โ source ./include/uapi/linux, page version struct iomm...gra241_cmdqv(9), date October 2026. that's the whole Kernel API Manual moment, 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