amdgpu_bo_create_kernel_at(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 ⭐

  • 0 on 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/amdgpu corner of the kernel, dated October 2026, and it's the amdgpu_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