drm_gpuvm_bo_create(9)
π
drm_gpuvm_bo_create β Kernel API Manual β¨
okay so bestie, welcome to the drm_gpuvm_bo_create(9) page β yes it's a kernel API manual, yes we're gonna read it, and yes you're gonna slay it π«Ά
πΈ NAME πΈ
drm_gpuvm_bo_create β create a new instance of struct drm_gpuvm_bo π
β¨ SYNOPSIS β¨
struct drm_gpuvm_bo * drm_gpuvm_bo_create (struct drm_gpuvm *gpuvm ,
struct drm_gem_object *obj );
π ARGUMENTS π
gpuvmβ thedrm_gpuvmthatobjis mapped in, like, that's its whole home base πobjβ thedrm_gem_objectthat's being mapped in thegpuvm, the actual star of the show ngl β
π¦ DESCRIPTION π¦
so here's the vibe: if the driver provides it, this function uses the drm_gpuvm_ops vm_bo_alloc callback to do the allocating. literally that's it, that's the whole teapot π«β¨
π₯ RETURN π₯
a pointer to the drm_gpuvm_bo on success π, NULL on failure π (no cap, that's just how it is)
π SEE ALSO π
the whole friend group showed up, and we're listing every single one bc nobody gets left out π
Kernel file ./drivers/gpu/drm/drm_gpuvm.c, plus:
Overview(9)Split and Merge(9)Madvise Logic - Splitting and Traversal(9)Locking(9)Examples(9)get_next_vm_bo_from_list(9)for_each_vm_bo_in_list(9)restore_vm_bo_list(9)drm_gpuvm_bo_is_zombie(9)drm_gpuvm_bo_list_add(9)drm_gpuvm_bo_list_del_init(9)drm_gpuvm_bo_list_del(9)drm_gpuvm_range_valid(9)drm_gpuvm_resv_object_alloc(9)drm_gpuvm_init(9)drm_gpuvm_put(9)drm_gpuvm_prepare_vm(9)drm_gpuvm_prepare_objects(9)drm_gpuvm_prepare_range(9)drm_gpuvm_exec_lock(9)drm_gpuvm_exec_lock_array(9)drm_gpuvm_exec_lock_range(9)drm_gpuvm_validate(9)drm_gpuvm_resv_add_fence(9)drm_gpuvm_bo_put(9)drm_gpuvm_bo_put_deferred(9)drm_gpuvm_bo_deferred_cleanup(9)drm_gpuvm_bo_find(9)drm_gpuvm_bo_obtain_locked(9)drm_gpuvm_bo_obtain_prealloc(9)drm_gpuvm_bo_extobj_add(9)drm_gpuvm_bo_evict(9)drm_gpuva_insert(9)drm_gpuva_remove(9)drm_gpuva_link(9)drm_gpuva_unlink(9)drm_gpuva_unlink_defer(9)drm_gpuva_find_first(9)drm_gpuva_find(9)drm_gpuvm_interval_empty(9)drm_gpuva_map(9)drm_gpuva_remap(9)drm_gpuva_unmap(9)drm_gpuvm_sm_map(9)drm_gpuvm_sm_unmap(9)drm_gpuvm_sm_map_exec_lock(9)drm_gpuvm_sm_unmap_exec_lock(9)drm_gpuvm_sm_map_ops_create(9)drm_gpuvm_madvise_ops_create(9)drm_gpuvm_sm_unmap_ops_create(9)drm_gpuvm_prefetch_ops_create(9)drm_gpuvm_bo_unmap_ops_create(9)drm_gpuva_ops_free(9)
aaaaand that's the page!! π source is ./drivers/gpu/drm, dated October 2026, and the whole thing answers to the name drm_gpuvm_bo_create(9) π¦ mwah, go create some buffer objects bestie π
π
π¦ 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