STRUCT SEV_USER_DATA_SNP_CONFIG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

struct sev_user_data_snp_config β€” okay bestie, this is the system wide configuration value for SNP. Yes, the whole system. Main character struct energy, no cap πŸ‘‘

This page lives in the Kernel API Manual, and honestly? It's giving "small struct, big responsibilities" ✨

πŸ¦‹ SYNOPSIS πŸ¦‹

struct sev_user_data_snp_config {
    __u64 reported_tcb  ;
    __u32 mask_chip_id:1;
    __u32 mask_chip_key:1;
    __u32 rsvd:30;
    __u8 rsvd1[52];
 };

Look at her. Not a single wasted byte, literally. The bitfields are chef's kiss πŸ’…

🌸 Members 🌸

Okay so let's meet the cast, one member at a time 🫢

  • reported_tcb β€” this is the TCB version that gets reported in the guest attestation report. It's a __u64, so it's got room, and it's out here representing your whole trustworthiness. Iconic of her, honestly πŸ’œ
  • mask_chip_id β€” a 1-bit field answering the question: is the chip id present in attestation reports, or not? Two moods only, bestie β€” it's a yes/no icon πŸŽ€
  • mask_chip_key β€” another 1-bit cutie, and it tells you whether attestation reports are signed or not. Also just two options. Lowkey minimal, highkey important πŸ”₯
  • rsvd β€” reserved. That's it. That's the whole lore. Don't touch it, it's not for you πŸ™ˆ (it's :30 bits wide, if you were curious β€” the three bitfields above add up to 32 total, math ate πŸ’€)
  • rsvd1 β€” also reserved. This one's a __u8[52], so it's the big roomy reserved array. Still reserved. Still not yours. Respect the padding bestie ⭐
Fr fr β€” reserved means reserved. Do not go inventing your own meaning for these bytes. Future-you (and future-kernel) will not thank you 😭

🌈 SEE ALSO 🌈

Kernel file ./include/uapi/linux/psp-sev.h struct β€” that's the home base, go say hi 🏠

The whole squad, in the exact order the page lists them:

  • struct sev_user_data_status(9)
  • struct sev_user_data_pek_csr(9)
  • struct sev_user_data_pdh_cert_export(9)
  • struct sev_user_data_get_id(9)
  • struct sev_user_data_get_id2(9)
  • struct sev_user_data_snp_status(9)
  • struct sev_issue_cmd(9)

πŸ’« And that's the whole page, bestie β€” struct read, vibes immaculate, zero bytes harmed. This one came from ./include/uapi/linux, dated October 2026, so mark your calendar and hydrate before you touch any firmware πŸ“πŸ§šβœ¨

πŸ“¦ where this page comes from