xe_vm_bind_kernel_bo(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… xe_vm_bind_kernel_bo(9) β€” from the Kernel API Manual, bestie

okay so picture this: it's a Tuesday, you're deep in ./drivers/gpu/drm/xe, and you need to glue a kernel BO into a kernel VM. that's literally this function. no cap, it's the whole gig. ✨


✨ NAME ✨

xe_vm_bind_kernel_bo β€” bind a kernel BO to a VM 🫢


🌸 SYNOPSIS 🌸

struct dma_fence * xe_vm_bind_kernel_bo (struct xe_vm *vm , struct xe_bo
*bo , struct xe_exec_queue *q , u64 addr , enum xe_cache_level cache_lvl
);

like yes she takes five arguments and yes she returns a struct dma_fence * β€” we'll get to that πŸ’–


πŸŽ€ ARGUMENTS πŸŽ€

  • vm β€” the VM you're binding the BO to. the destination, the vibe, the home 🏠
  • bo β€” the BO being bound. she's the main character here πŸ‘‘
  • q β€” the exec queue to use for the bind. it's optional, so no pressure bestie πŸ™ˆ
  • addr β€” the address where the BO gets bound. pick a spot, any spot πŸ“
  • cache_lvl β€” the PAT cache level to use. this is an enum xe_cache_level, so use the enum, not vibes 🧚

πŸ”₯ DESCRIPTION πŸ”₯

so what she actually does: she executes a VM bind map operation on a kernel-owned BO, and that's how it gets bound into a kernel-owned VM. kernel BO rights 🫢

she returns a dma_fence so you can track when the binding completes β€” but ONLY if the job to do so was successfully submitted. otherwise? error pointer. 😭 so fr fr, check your return value, don't just assume it slayed.

ngl the sentence above is the entire contract: dma_fence = job submitted, error pointer = it did not. that's it, that's the tea πŸ’€

⭐ SEE ALSO ⭐

Kernel file ./drivers/gpu/drm/xe/xe_vm.c β€” and the whole extended friend group of VM functions, in the exact order the manpage lists them, because we do not skip anyone at this table:

all of them. every single one. we ate and left no crumbs πŸ“


and that's the whole page, bestie β€” courtesy of the kernel docs living at ./drivers/gpu/drm/xe, dated October 2026, under the manual page name xe_vm_bind_kernel_bo(9). go bind something iconic πŸ’œπŸŒˆβœ¨

πŸ“¦ where this page comes from