STRUCT IOMMU_RESV_REGION(9)
π struct iommu_resv_region(9) β the Kernel API Manual glow-up β¨
okay so bestie, welcome to the struct iommu_resv_region(9) page in the Kernel API Manual β this is the little descriptor that says "hey, this chunk of memory is reserved, hands off" π«Ά it's giving bodyguard energy for physical memory, ngl.
πΈ NAME πΈ
struct iommu_resv_region β descriptor for a reserved memory region π
literally the little ID card for a slice of memory that the IOMMU has claimed as its own.
β¨ SYNOPSIS β¨
struct iommu_resv_region {
struct list_head list;
phys_addr_t start;
size_t length;
int prot;
enum iommu_resv_type type;
void (*free)(struct device *dev, struct iommu_resv_region *region);
};
look at her. six fields. absolutely iconic. π
π¦ Members π¦
so here's the member-by-member vibe check, keep up bestie:
listβ the linked list pointers π she's in a list, obviously, main character behavior.startβ system physical start address of the region π where it begins, fr fr.lengthβ length of the region in bytes π (bytes!! not pages!! don't come for me).protβ IOMMU Protection flags (READ/WRITE/...) π‘οΈ the permission slip, iykyk.typeβ type of the reserved region π·οΈ which flavor of reserved we're dealing with.freeβ callback to free associated memory allocations π§Ή the cleanup crew. it's a function pointer:void (*free)(struct device *dev, struct iommu_resv_region *region).
no cap, thatfreecallback takes thestruct device *devand thestruct iommu_resv_region *regionβ don't lose them π
π SEE ALSO π
go read your siblings, bestie, they're all in the kernel file ./include/linux/iommu.h and honestly the whole friend group ate:
struct iommu_fault_page_request(9)struct iommu_fault(9)enum iommu_page_response_code(9)struct iommu_page_response(9)struct iopf_queue(9)struct iommu_iotlb_gather(9)struct iommu_dirty_bitmap(9)struct iommu_dirty_ops(9)struct iommu_user_data(9)struct iommu_user_data_array(9)__iommu_copy_struct_from_user(9)iommu_copy_struct_from_user(9)__iommu_copy_struct_from_user_array(9)iommu_copy_struct_from_user_array(9)iommu_copy_struct_from_full_user_array(9)__iommu_copy_struct_to_user(9)iommu_copy_struct_to_user(9)struct iommu_ops(9)struct iommu_domain_ops(9)struct iommu_device(9)struct iommu_fault_param(9)struct dev_iommu(9)iommu_iotlb_gather_is_disjoint(9)iommu_iotlb_gather_add_range(9)iommu_iotlb_gather_add_page(9)struct iommu_fwspec(9)struct iommu_sva(9)iommu_map_sgtable(9)
that's the whole group chat, no one gets left on read π
and that's the page!! π this lil number lives over in ./include/linux, it's dated October 2026, and it goes by struct iommu_resv_region(9) β periodt, go touch some reserved memory (respectfully) πβ¨π₯
π¦ 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