amdgpu_vm_bo_insert_map(9)
π
amdgpu_vm_bo_insert_map β a Kernel API Manual moment (yes bestie, amdgpu_vm_bo_insert_map(9), we're in the kernel docs now)
Ok so picture this: you're deep in the AMDGPU virtual memory code, and you need a mapping to exist in the data structures. That's it. That's the whole vibe. Let's get into it π«Ά
β¨ NAME β¨
amdgpu_vm_bo_insert_map β insert a new mapping π
Like, literally just insert a new mapping. No cap.
πΈ SYNOPSIS πΈ
void amdgpu_vm_bo_insert_map (struct amdgpu_device *adev , struct amdgpu_bo_va *bo_va , struct amdgpu_bo_va_mapping *mapping );
Notice it returns void?? Yeah. It does the thing and doesn't even ask for a thank-you. Main character energy fr fr π
π ARGUMENTS π
adevβ anamdgpu_devicepointer. Yep, that's your device, the whole entire GPU situation πbo_vaβ thebo_vawhere the address gets stored. It's the little guy holding the address, okurrr π¦mappingβ the mapping you're inserting. Like, the actual mapping. The one. Your star β
π§ DESCRIPTION π§
So what does it do? It inserts a new mapping into all the structures.
All of them. Every structure that needs to know. It's giving "tell everyone, no secrets" π
π₯ SEE ALSO π₯
Kernel file: ./drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
And here's the whole friend group, bestie β every single one of these is invited to the group chat πβ¨
GPUVM(9)struct amdgpu_prt_cb(9)struct amdgpu_vm_tlb_seq_struct(9)amdgpu_vm_assert_locked(9)amdgpu_vm_is_bo_always_valid(9)amdgpu_vm_bo_evicted(9)amdgpu_vm_bo_needs_update(9)amdgpu_vm_bo_idle(9)amdgpu_vm_bo_reset_state_machine(9)amdgpu_vm_update_shared(9)amdgpu_vm_bo_update_shared(9)amdgpu_vm_update_stats_locked(9)amdgpu_vm_update_stats(9)amdgpu_vm_bo_base_init(9)amdgpu_vm_lock_pd(9)amdgpu_vm_lock_individual(9)amdgpu_vm_move_to_lru_tail(9)amdgpu_vm_generation(9)amdgpu_vm_validate(9)amdgpu_vm_ready(9)amdgpu_vm_check_compute_bug(9)amdgpu_vm_need_pipeline_sync(9)amdgpu_vm_flush(9)amdgpu_vm_bo_find(9)amdgpu_vm_map_gart(9)amdgpu_vm_update_pdes(9)amdgpu_vm_tlb_seq_cb(9)amdgpu_vm_tlb_flush(9)amdgpu_vm_update_range(9)amdgpu_vm_bo_update(9)amdgpu_vm_update_prt_state(9)amdgpu_vm_prt_get(9)amdgpu_vm_prt_put(9)amdgpu_vm_prt_cb(9)amdgpu_vm_add_prt_cb(9)amdgpu_vm_free_mapping(9)amdgpu_vm_prt_fini(9)amdgpu_vm_clear_freed(9)amdgpu_vm_handle_moved(9)amdgpu_vm_flush_compute_tlb(9)amdgpu_vm_bo_add(9)amdgpu_vm_bo_map(9)amdgpu_vm_bo_replace_map(9)amdgpu_vm_bo_unmap(9)amdgpu_vm_bo_clear_mappings(9)amdgpu_vm_bo_lookup_mapping(9)amdgpu_vm_bo_trace_cs(9)amdgpu_vm_bo_del(9)amdgpu_vm_evictable(9)amdgpu_vm_bo_invalidate(9)amdgpu_vm_bo_move(9)amdgpu_vm_get_block_size(9)amdgpu_vm_adjust_size(9)amdgpu_vm_wait_idle(9)amdgpu_vm_put_task_info(9)amdgpu_vm_get_task_info_vm(9)amdgpu_vm_get_task_info_pasid(9)amdgpu_vm_set_task_info(9)amdgpu_vm_init(9)amdgpu_vm_make_compute(9)amdgpu_vm_fini(9)amdgpu_vm_manager_init(9)amdgpu_vm_manager_fini(9)amdgpu_vm_ioctl(9)amdgpu_vm_lock_by_pasid(9)amdgpu_vm_handle_fault(9)amdgpu_debugfs_vm_bo_info(9)amdgpu_vm_update_fault_cache(9)
Ok that list is long but you asked for the lore and I delivered π Don't skip it, iykyk.
And that's the whole page, bestie!! π
This little masterpiece lives in the source tree at ./drivers/gpu/drm/amd/amdgpu, it's dated October 2026, and yes β the page itself is amdgpu_vm_bo_insert_map(9). Slay, go insert some mappings, mwah ππ
π¦ 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