intel_guc_allocate_vma(9)
π intel_guc_allocate_vma(9) π
okay so bestie, we're in the Kernel API Manual today and this one is genuinely iconic β it's intel_guc_allocate_vma, and it does exactly what it says on the tin: it allocates a GGTT VMA for GuC usage. no cap. π
β¨ NAME β¨
intel_guc_allocate_vma β Allocate a GGTT VMA for GuC usage πΈ
π¦ SYNOPSIS π¦
struct i915_vma * intel_guc_allocate_vma (struct intel_guc *guc , u32 size );
π ARGUMENTS π
gucβ the guc. that's it. that's the whole description. she's main character energy and needs no introduction. πsizeβ size of area to allocate β and bb, it's both virtual space and memory, not just one of them. both. at once. slay. π«Ά
π DESCRIPTION π
so likeβ¦ this function is a wrapper. a cute little convenience wrapper whose whole job is creating an object for use with the GuC. π§
here's the vibe check: in order to actually use an object inside the GuC, that object needs to be pinned lifetime. meaning it's not going anywhere, ever, it's committed. π so what do we do? we allocate both:
- some backing storage, and
- a range inside the Global GTT.
two things, one function, we love to see it. β¨
and here's the part you cannot skip β we must pin it in the GGTT somewhere other than the range [0, GUC ggtt_pin_bias), because that range is reserved inside GuC. that's GuC's spot. don't touch. π it's giving "reserved parking space" and we are not that girl who parks there.
π₯ RETURN π₯
an i915_vma if it's successful π β otherwise it hands you back an ERR_PTR. so like, check that pointer, bestie, fr fr. π
πΈ SEE ALSO πΈ
- Kernel file
./drivers/gpu/drm/i915/gt/uc/intel_guc.c GuC(9)intel_guc_auth_huc(9)intel_guc_suspend(9)intel_guc_resume(9)GuC Memory Management(9)intel_guc_allocate_and_map_vma(9)intel_guc_load_status(9)
all of these are lowkey required reading, iykyk. πβ
bestie PSA: that [0, GUC ggtt_pin_bias) range is reserved inside GuC, so pinning outside of it isn't a suggestion, it's the whole assignment. π
that's the page! brought to you from ./drivers/gpu/drm/i915/gt/uc, dated October 2026, in the Kernel API Manual. mwah, go read the source, ily, bye! ππ¦π
π¦ 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