GUC2PF_ADVERSE_EVENT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… GUC2PF_ADVERSE_EVENT πŸ’…

ok so bestie, real talk: this is a page from the Kernel API Manual (section 9, the kernel API zone ✨) and it's literally just one message definition. That's it. That's the whole vibe. But she's an important one so let's give her the respect she deserves πŸŽ€


✨ NAME ✨

GUC2PF_ADVERSE_EVENT β€” the lil heads-up note the GuC slides into the PF's DMs when something adverse goes down 🫢

🌸 DESCRIPTION 🌸

This message is used by the GuC to notify PF about adverse events. That's the whole plot. GuC sees something spicy, GuC tells the PF. iykyk πŸ’…

ok but here's the rule, and she is not optional β€” this G2H message must be sent as a CTB HXG Message. no cap, that's the shape it has to take.


πŸ¦‹ the bit layout, aka the receipts

first up, the header word (word 0):

  • Bits 0–31 β€” ORIGIN = GUC_HXG_ORIGIN_GUC_ πŸ‘‘
  • Bits 30:28 β€” TYPE = GUC_HXG_TYPE_EVENT_ ⭐
  • Bits 27:16 β€” DATA0 = MBZ (that's "must be zero", bestie, don't get creative)
  • Bits 15:0 β€” ACTION = GUC_ACTION_GUC2PF_ADVERSE_EVENT = 0x5104 πŸ”₯

and then the payload words:

    1   31:0   DATA1 = **VFID** - VF identifier
    2   31:0   DATA2 = **THRESHOLD** - key of the exceeded threshold

so DATA1 is the VFID, literally the VF identifier, and DATA2 is the THRESHOLD, which is the key of the exceeded threshold. iconic data delivery tbqh πŸ“

⚠️ warning-ish vibe check: DATA0 is MBZ β€” must be zero. zero. not "a small number." zero. πŸ™ˆ

🌈 SEE ALSO 🌈

the kernel file for this one is right here, keep it warm:

Kernel file ./drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h

and the whole fam, all these pages are lowkey siblings:

periodt. go read them, they're all giving main character energy πŸ’œ


ok that's the whole page, bestie!! mwah πŸ’– thanks for reading, this came out of ./drivers/gpu/drm/xe/abi, dated October 2026, and the page itself is GUC2PF_ADVERSE_EVENT(9) β€” slay, go touch some registers βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from