WOPCM LAYOUT(9)
π WOPCM Layout β section 9, bestie
okay so this is from the Kernel API Manual, and it's literally just the map of WOPCM. no cap.
πΊοΈ WOPCM Layout
so here's the tea: the layout of the WOPCM gets locked in (fixed, immovable, done-zo) right after you write to the GuC WOPCM size and offset registers. and those register values? they're not vibes-based β they get calculated and determined by the HuC/GuC firmware size plus whatever set of hardware requirements/restrictions is in play. it's giving very much calculated. as shown below:
:
+=========> +====================+ <== WOPCM Top
^ | HW contexts RSVD |
| +===> +====================+ <== GuC WOPCM Top
| ^ | |
| | | |
| | | |
| GuC | |
| WOPCM | |
| Size +--------------------+
WOPCM | | GuC FW RSVD |
| | +--------------------+
| | | GuC Stack RSVD |
| | +------------------- +
| v | GuC WOPCM RSVD |
| +===> +====================+ <== GuC WOPCM base
| | WOPCM RSVD |
| +------------------- + <== HuC Firmware Top
v | HuC FW |
+=========> +====================+ <== WOPCM Base
the GuC's accessible slice of WOPCM starts at GuC WOPCM base and ends at GuC WOPCM top. π«Ά and the top part of the WOPCM? that's reserved for hardware contexts (e.g. the RC6 context) β so hands off, that's their section. π
π SEE ALSO
- Kernel file
./drivers/gpu/drm/i915/gt/intel_wopcm.c intel_wopcm_init_early(9)intel_wopcm_init(9)
β¨ that's the whole page, icon status. shoutout to the source tree at ./drivers/gpu/drm/i915/gt, dated October 2026, from the Kernel API Manual β WOPCM Layout(9), periodt. πππ¦
π¦ 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