amdgpu_bo_create_kernel_at(9)
π amdgpu_bo_create_kernel_at β the Kernel API Manual page, but make it make sense
okay so bestie, welcome to the amdgpu_bo_create_kernel_at(9) page β¨ this is a Linux kernel API manual entry, and honestly? it's a little cutie. short, sweet, does exactly one thing. let's get into it π
πΈ NAME πΈ
amdgpu_bo_create_kernel_at β legit just creates a BO for kernel use at a specific location. that's the whole vibe. no cap π
β¨ SYNOPSIS β¨
int amdgpu_bo_create_kernel_at (struct amdgpu_device *adev , uint64_t
offset , uint64_t size , struct amdgpu_bo **bo_ptr , void **cpu_addr );
like, look at her. returns an int, takes a device, an offset, a size, and two pointer-to-pointer situations. iconic behavior only π
π¦ ARGUMENTS π¦
adevβ the amdgpu device object π«Ά like, the whole GPU situation you're working with.offsetβ the offset of the BO. yes bestie, you're picking exactly where it lands. main character energy.sizeβ the size of the BO. how much room she takes up πbo_ptrβ used to initialize BOs in structures. she's the out-param that hands you your new BO πcpu_addrβ optional CPU address mapping. optional!! so if you don't need it, you can literally just not π
π DESCRIPTION π
so what does she actually do? Creates a kernel BO at a specific offset in VRAM. that's it. that's the function. no crumbs left behind π
the way that this is just "put the BO right here, in VRAM, at this exact offset" β obsessed. very deliberate. very "I know what I want" of her πΈ
β RETURN β
0on success π slay- negative error code otherwise π so like, check your return value, bestie, please. fr fr.
π₯ SEE ALSO π₯
the kernel file lives at ./drivers/gpu/drm/amd/amdgpu/amdgpu_object.c β that's where the source is, iykyk π§
and here's the whole friend group, aka every related amdgpu_bo function ever, no gatekeeping:
amdgpu_object(9), amdgpu_bo_is_amdgpu_bo(9), amdgpu_bo_placement_from_domain(9), amdgpu_bo_create_reserved(9), amdgpu_bo_create_kernel(9), amdgpu_bo_create_isp_user(9), amdgpu_bo_free_kernel(9), amdgpu_bo_free_isp_user(9), amdgpu_bo_create(9), amdgpu_bo_create_user(9), amdgpu_bo_create_vm(9), amdgpu_bo_kmap(9), amdgpu_bo_kptr(9), amdgpu_bo_kunmap(9), amdgpu_bo_ref(9), amdgpu_bo_unref(9), amdgpu_bo_pin(9), amdgpu_bo_unpin(9), amdgpu_bo_init(9), amdgpu_bo_fini(9), amdgpu_bo_set_tiling_flags(9), amdgpu_bo_get_tiling_flags(9), amdgpu_bo_set_metadata(9), amdgpu_bo_get_metadata(9), amdgpu_bo_move_notify(9), amdgpu_bo_release_notify(9), amdgpu_bo_fault_reserve_notify(9), amdgpu_bo_fence(9), amdgpu_bo_sync_wait_resv(9), amdgpu_bo_sync_wait(9), amdgpu_bo_gpu_offset(9), amdgpu_bo_fb_aper_addr(9), amdgpu_bo_gpu_offset_no_check(9), amdgpu_bo_mem_stats_placement(9), amdgpu_bo_get_preferred_domain(9), amdgpu_bo_print_info(9)
like, that's a lot of besties. go read them. or don't. but like, you should π
heads up bestie: this page is from the./drivers/gpu/drm/amd/amdgpucorner of the kernel, dated October 2026, and it's theamdgpu_bo_create_kernel_at(9)page, so if you cite it, cite it right π«Ά that's the whole sign-off. 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