VF2GUC_QUERY_SINGLE_KLV(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… VF2GUC_QUERY_SINGLE_KLV

okay so this is a page out of the Kernel API Manual, section 9, and it's all about the VF2GUC_QUERY_SINGLE_KLV action β€” literally the moment a VF slides into the GUC's DMs to ask "hey what's the value of this one KLV bestie?"

πŸŽ€ what it does

This action is used by VF to query value of the single KLV data.

This message must be sent as MMIO HXG Message.


πŸ“¨ the request (what VF sends, main character energy)

Word 0, bits 0–31:

  • bits 0–31 β€” ORIGIN = GUC_HXG_ORIGIN_HOST_
  • bits 30:28 β€” TYPE = GUC_HXG_TYPE_REQUEST_
  • bits 27:16 β€” MBZ
  • bits 15:0 β€” ACTION = GUC_ACTION_VF2GUC_QUERY_SINGLE_KLV = 0x5509

Word 1:

  • bits 31:16 β€” MBZ
  • bits 15:0 β€” KEY β€” key for which value is requested

πŸ’Œ the response (GUC replies, slay)

Word 0, bits 0–31:

  • bits 0–31 β€” ORIGIN = GUC_HXG_ORIGIN_GUC_
  • bits 30:28 β€” TYPE = GUC_HXG_TYPE_RESPONSE_SUCCESS_
  • bits 27:16 β€” MBZ
  • bits 15:0 β€” LENGTH β€” length of data in dwords

Then the value comes back in the following words, and how many of them actually matter depends on LENGTH (no cap, that's literally what the conditionals say):

  • word 1, bits 31:0 β€” VALUE32 β€” bits 31:0 of value if LENGTH >= 1
  • word 2, bits 31:0 β€” VALUE64 β€” bits 63:32 of value if LENGTH >= 2
  • word 3, bits 31:0 β€” VALUE96 β€” bits 95:64 of value if LENGTH >= 3
🫢 quick vibe check: the value words are conditional on LENGTH, so if LENGTH is smaller, don't go reading words that aren't promised. That's the whole point of the >= gates, iykyk.

✨ SEE ALSO ✨


and that's the whole page, bestie πŸ¦‹ this little icon comes to you from ./drivers/gpu/drm/xe/abi, dated October 2026 β€” go forth and query your single KLV, periodt πŸ’œ

πŸ“¦ where this page comes from