STRUCT PT_IOMMU(9)
β¨ struct pt_iommu(9) β¨
okay so bestie, welcome to the kernel API manual β this one's struct pt_iommu(9) and it's literally the blueprint, the main character struct, the whole vibe π
πΈ NAME πΈ
struct pt_iommu β the base structure for IOMMU page tables π
π¦ SYNOPSIS π¦
struct pt_iommu {
struct iommu_domain domain;
const struct pt_iommu_ops *ops;
const struct pt_iommu_driver_ops *driver_ops;
int nid;
struct device *iommu_device;
};
π Members π
domainβ the core IOMMU domain, the moment, the whole point π«Ά the driver should use a union to overlay this memory with its previously existing domain struct so it creates an alias. iykyk.opsβ function pointers to access the API. that's it, that's the vibe β¨driver_opsβ function pointers that the HW driver provides to help manage HW details like caches π lowkey the hardware-handling squad.nidβ the Node ID to use for table memory allocations. the IOMMU driver may want to set theNIDto the device's NID if there are multiple table walkers π (multiple walkers = much chaos, plan accordingly).iommu_deviceβ device pointer used for any DMA cache flushing whenPT_FEAT_DMA_INCOHERENTπ₯ this is the iommu device that created the page table, which must have dma ops that perform cache flushing. no cap, that part is non-negotiable.
π Description π
so here's the tea: the format-specific struct will include this as the first member π. that's the whole description, bestie β it's short but it ate.
π SEE ALSO π
- Kernel file
./include/linux/generic_pt/iommu.h IOMMU Radix Page Table(9)struct pt_iommu_info(9)struct pt_iommu_driver_ops(9)struct pt_iommu_cfg(9)
go read the rest of the family, they're all iconic β
π fr fr take the iommu_device DMA-ops cache-flushing requirement seriously β that's a real correctness thing, not just a vibe check.
later bestie!! this page lives in ./include/linux/generic_pt, stamped October 2026 β go touch some page tables π
ππ¦
π¦ 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