WRITE ONCE PROTECTED CONTENT MEMORY (WOPCM) LAYOUT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… Write Once Protected Content Memory (WOPCM) Layout πŸ’…

okay so this is the Kernel API Manual page for Write Once Protected Content Memory (WOPCM) Layout, and bestie, the main character fact is this: the layout of the WOPCM will be fixed after writing to the GuC WOPCM size and offset registers. those register values are calculated and determined by the HuC/GuC firmware size and the set of hardware requirements/restrictions, and it all looks like this:

       :

          +=========> +====================+ <== 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

GuC accessible WOPCM starts at GuC WOPCM base and ends at GuC WOPCM top. and the top part of the WOPCM is reserved for hardware contexts (e.g. RC6 context). periodt. πŸ’…

🌸 SEE ALSO 🌸

  • Kernel file: ./drivers/gpu/drm/xe/xe_wopcm.c β€” peep it, bestie.
  • xe_wopcm_init(9) β€” the function man page, iykyk.

made with πŸ’– from ./drivers/gpu/drm/xe, October 2026 β€” catch you in the next man page, bestie 🫢

πŸ“¦ where this page comes from