panthor_vm_map_bo_range(9)
β¨ panthor_vm_map_bo_range(9) β¨
okay so bestie, this is a page from the Kernel API Manual and it's all about panthor_vm_map_bo_range β literally the function that maps a chunk of a GEM object into a VM. it's giving very "behind the scenes" energy, and we're gonna get into it π
π NAME π
panthor_vm_map_bo_range β Map a GEM object range to a VM πΊοΈ
πΈ SYNOPSIS πΈ
int panthor_vm_map_bo_range (struct panthor_vm *vm , struct
panthor_gem_object *bo , u64 offset , u64 size , u64 va , u32 flags );
like... look at that signature. six whole arguments. no cap, she's thorough π«Ά
π¦ ARGUMENTS π¦
vmβ the VM you're mapping the GEM to. the destination vibe β¨boβ the GEM object you're mapping. the main character of this operation πoffsetβ the offset in the GEM object. where insidebowe're starting from, iykyksizeβ how much you're mapping. the size. bestie it's literally the size πvaβ the virtual address you're mapping the object to. the landing spot πflagsβ a combination ofdrm_panthor_vm_bind_op_flagsflags. and listen β only map-related flags are valid here. do not come in here with unmap flags, that is not the assignment π
π DESCRIPTION π
Internal use only. periodt. this is the private little helper, not the front door πͺ
so if you're a userspace request wanting to do a bind, you don't call this β you use panthor_vm_bind_exec_sync_op instead. she's the one who handles the public-facing stuff, so go talk to her π
fr fr, if you're holding this page wondering "should I call this from userspace," the answer is no. the manpage said internal use only and it meant it π
β RETURN β
0 on success, and a negative error code otherwise. that's it, that's the whole deal. slay π―
π₯ SEE ALSO π₯
the whole friend group came out for this one, so let's give them their moment π
Kernel file ./drivers/gpu/drm/panthor/panthor_mmu.c, plus:
struct panthor_as_slot(9)struct panthor_mmu(9)struct panthor_vm_pool(9)struct panthor_vma(9)struct panthor_vm_op_ctx(9)struct panthor_vm(9)struct panthor_vm_bind_job(9)alloc_pt(9)free_pt(9)panthor_vm_has_unhandled_faults(9)panthor_vm_is_unusable(9)panthor_vm_active(9)panthor_vm_idle(9)panthor_vm_as(9)panthor_vm_alloc_va(9)panthor_vm_free_va(9)panthor_vm_get_bo_for_va(9)panthor_vm_pool_create_vm(9)panthor_vm_pool_destroy_vm(9)panthor_vm_pool_get_vm(9)panthor_vm_pool_destroy(9)panthor_vm_pool_create(9)panthor_mmu_suspend(9)panthor_mmu_resume(9)panthor_mmu_pre_reset(9)panthor_mmu_post_reset(9)panthor_vm_put(9)panthor_vm_get(9)panthor_vm_get_heap_pool(9)panthor_vm_heaps_sizes(9)panthor_vm_resv(9)panthor_vm_bind_job_put(9)panthor_vm_create(9)panthor_vm_bind_job_create(9)panthor_vm_bind_job_prepare_resvs(9)panthor_vm_bind_job_update_resvs(9)panthor_vm_bind_exec_sync_op(9)panthor_vm_unmap_range(9)panthor_vm_prepare_mapped_bos_resvs(9)panthor_mmu_unplug(9)panthor_mmu_init(9)panthor_mmu_debugfs_init(9)panthor_mmu_pt_cache_init(9)panthor_mmu_pt_cache_fini(9)
and that's the whole page bestie π«Ά sourced from ./drivers/gpu/drm/panthor, dated October 2026, and it's panthor_vm_map_bo_range(9) signing off πβ¨ go map something responsibly π§
π¦ 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