amdgpu_vm_init(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… amdgpu_vm_init(9) β€” like, the Kernel API Manual page, bestie πŸŽ€

okay so this is the amdgpu_vm_init(9) page from the Kernel API Manual, and honestly? it's a little one. a tiny icon. a snack. but we're gonna treat it with the respect it deserves because it's literally the moment a vm instance gets born ✨


🌸 NAME 🌸

amdgpu_vm_init β€” initialize a vm instance. that's it. that's the whole job. she's a starter, she's a setup girlie, she's giving "first day of school" energy πŸŽ’


πŸ¦‹ SYNOPSIS πŸ¦‹

int amdgpu_vm_init (struct amdgpu_device *adev , struct amdgpu_vm *vm ,
int32_t xcp_id );

like, three little inputs and one int back out. clean. minimal. obsessed πŸ’…


πŸ’– ARGUMENTS πŸ’–

  • adev β€” an amdgpu_device pointer. literally the GPU device itself, the main character of the whole file ngl πŸ‘‘
  • vm β€” the requested vm. this is the one you're initializing. she's the guest of honor 🫢
  • xcp_id β€” GPU partition selection id, typed as int32_t. which partition are we talking about? this tells you. no cap πŸ”₯

🌈 DESCRIPTION 🌈

Init vm fields. that's the whole description, bestie β€” she's short and she knows it 😭 the function goes in and sets up the fields on the vm you handed her, and that's the vibe check passed 🧚


⭐ RETURN ⭐

0 for success, error for failure. extremely straightforward, extremely correct, we love a binary outcome πŸ“


πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c β€” and then the whole extended universe, because this page did NOT come to play. bundled up with 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_insert_map(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_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), and last but never least amdgpu_vm_update_fault_cache(9) 🫢✨

like β€” that is a list. she said "you will read the whole family tree" and honestly? respect πŸ’€


🌸 and that's the page!! 🌸

shoutout to the source tree at ./drivers/gpu/drm/amd/amdgpu and the October 2026 date stamp on this one β€” she's dated, she's documented, she's done. periodt πŸ’…πŸŽ€

πŸ“¦ where this page comes from