xe_vm_create_scratch(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

oi bestie πŸ’– welcome to the xe_vm_create_scratch(9) page in the Kernel API Manual. This one is lowkey specific and highkey useful, so grab your iced coffee and let’s get into it ✨

NAME πŸŽ€

xe_vm_create_scratch β€” setup a scratch memory pagetable tree for the given tile and vm. That’s the whole assignment, no cap πŸ’…

SYNOPSIS ✨

int xe_vm_create_scratch (struct xe_device *xe , struct xe_tile *tile ,
       struct xe_vm *vm , struct drm_exec *exec );

ARGUMENTS 🫢

  • xe β€” xe device. The main character device in this situation πŸ‘‘
  • tile β€” tile to set up for. The tile bestie we’re doing this for πŸ’«
  • vm β€” vm to set up for. The vm getting the scratch treatment 🧚
  • exec β€” the struct drm_exec object used to lock the vm resv. It’s giving β€œlock situation, but make it official” πŸ”

DESCRIPTION πŸ¦‹

okay so here’s the vibe: it sets up a pagetable tree with one page-table per level and a single leaf PTE. Literally that. 🌸

All pagetable entries point to the single page-table or, for MAX_HUGEPTE_LEVEL, a NULL huge PTE returning 0 on read and writes become NOPs. Periodt. πŸ’…

RETURN 🌈

0 on success, negative error code on error. Simple, iconic, no plot twist 😌

SEE ALSO πŸ’œ


and that’s the page, bestie 🫢 source/version: ./drivers/gpu/drm/xe, date: October 2026, page: xe_vm_create_scratch(9). bye mwah πŸ’‹

πŸ“¦ where this page comes from