STRUCT SEV_TIO_STATUS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct sev_tio_status (9) πŸ’–

okay bestie, welcome to the Kernel API Manual, but make it cute πŸŽ€ this one's all about the TIO_STATUS command and the info_paddr buffer it lives in. no cap, it's a glow-up of a struct and we're gonna walk through every single field together 🫢


✨ NAME ✨

struct sev_tio_status β€” literally the TIO_STATUS command's info_paddr buffer πŸ’…


🌸 SYNOPSIS 🌸

here's the whole vibe, character for character, don't touch:

struct sev_tio_status {
    u32 length;
    u32 tio_en        :1, tio_init_done :1, reserved      :30;
    u32 spdm_req_size_min;
    u32 spdm_req_size_max;
    u32 spdm_scratch_size_min;
    u32 spdm_scratch_size_max;
    u32 spdm_out_size_min;
    u32 spdm_out_size_max;
    u32 spdm_rsp_size_min;
    u32 spdm_rsp_size_max;
    u32 devctx_size;
    u32 tdictx_size;
    u32 tio_crypto_alg;
    u8 reserved2[12];
 };

like… she's got range πŸ’€ bitfields, min/max pairs, a little reserved2[12] moment at the end. iconic.


πŸ¦‹ Members πŸ¦‹

time for the main characters, one by one πŸ‘‘

  • length β€” the length of this structure, in bytes. she's measuring herself, honestly relatable πŸͺž
  • tio_en β€” indicates that SNP_INIT_EX initialized the RMP for SEV-TIO ✨
  • tio_init_done β€” indicates TIO_INIT has been invoked. so like, did the thing happen? this field knows πŸ‘€
  • spdm_req_size_min β€” minimum SPDM request buffer size, in bytes πŸ“
  • spdm_req_size_max β€” maximum SPDM request buffer size, in bytes πŸ“
  • spdm_scratch_size_min β€” minimum SPDM scratch buffer size, in bytes 🧚
  • spdm_scratch_size_max β€” maximum SPDM scratch buffer size, in bytes 🧚
  • spdm_out_size_min β€” minimum SPDM output buffer size, in bytes πŸ’œ
  • spdm_out_size_max β€” maximum for the SPDM output buffer size, in bytes πŸ’œ (yes bestie, the original says "maximum for the SPDM output buffer size" and we respect the wording, fr fr)
  • spdm_rsp_size_min β€” minimum SPDM response buffer size, in bytes 🌈
  • spdm_rsp_size_max β€” maximum SPDM response buffer size, in bytes 🌈
  • devctx_size β€” size of a device context buffer, in bytes πŸŽ€
  • tdictx_size β€” size of a TDI context buffer, in bytes πŸŽ€
  • tio_crypto_alg β€” the TIO crypto algorithms supported πŸ”₯
lowkey note: reserved and reserved2[12] are in the struct too β€” they're not described in Members, they're just there holding space. respect their privacy πŸ™ˆ

πŸ‘‘ SEE ALSO πŸ‘‘

  • Kernel file ./drivers/crypto/ccp/sev-dev-tio.h β€” go read the source, iykyk πŸ“–

okay that's the whole page, you ate that πŸ’… this little love letter comes to you from ./drivers/crypto/ccp, dated October 2026 β€” version vibes and date both present and accounted for, periodt πŸŒŸπŸ’–

πŸ“¦ where this page comes from