STRUCT SEV_SNP_TCB_VERSION_GENOA_MILAN(9)
β¨ struct sev_snp_tcb_version_genoa_milan(9) β¨
okay so bestie, we're in the Kernel API Manual today and the star of the show is struct sev_snp_tcb_version_genoa_milan π like yes, that's a whole mouthful, but she's iconic and she's here to tell you the TCB (trusted computing base, iykyk) version numbers for the Genoa and Milan fam π
πΈ NAME πΈ
struct sev_snp_tcb_version_genoa_milan β no cap, that's the name and the original page literally gives you no extra blurb after the dash, so we're keeping it exactly that way π«Ά (the fields below do all the talking, fr fr)
π¦ SYNOPSIS π¦
bestie, here's the whole vibe, verbatim:
struct sev_snp_tcb_version_genoa_milan {
u8 boot_loader;
u8 tee;
u8 reserved[4];
u8 snp;
u8 microcode;
};
note the u8 glow-up on everything β small types, big main character energy π
and yeah, reserved[4] is just chillin' in the middle, we don't ask her questions.
π MEMBERS π
every single field, no skipping, periodt:
boot_loaderβ the SVN of the PSP bootloader π₯ (SVN = security version number, she's the "how fresh is this firmware" counter)teeβ the SVN of the PSP operating system π§ lowkey the TEE gets its own little version tracker and honestly? deservedreservedβ reserved π that's it, that's the whole description, she's a mystery and we respect itsnpβ the SVN of SNP firmware β (SNP = Secure Nested Paging, if you were wondering β and yes, this struct is out here keeping receipts on it)microcodeβ lowest current patch level of all cores π lowest, bestie, meaning it snitches on whichever core is lagging behind. savage but necessary.
π SEE ALSO π
the whole group chat, fr fr β Kernel file ./include/linux/psp-sev.h plus every single one of these:
struct sev_data_init(9)struct sev_data_init_ex(9)struct sev_data_pek_csr(9)struct sev_data_download_firmware(9)struct sev_data_get_id(9)struct sev_data_pdh_cert_export(9)struct sev_data_decommission(9)struct sev_data_activate(9)struct sev_data_deactivate(9)struct sev_data_guest_status(9)struct sev_data_launch_start(9)struct sev_data_launch_update_data(9)struct sev_data_launch_update_vmsa(9)struct sev_data_launch_measure(9)struct sev_data_launch_secret(9)struct sev_data_launch_finish(9)struct sev_data_send_start(9)struct sev_data_send_finish(9)struct sev_data_send_cancel(9)struct sev_data_receive_start(9)struct sev_data_receive_update_data(9)struct sev_data_receive_update_vmsa(9)struct sev_data_receive_finish(9)struct sev_data_dbg(9)struct sev_data_attestation_report(9)struct sev_data_snp_download_firmware(9)struct sev_data_snp_activate(9)struct sev_data_snp_addr(9)struct sev_data_snp_launch_start(9)struct sev_data_snp_launch_update(9)struct sev_data_snp_launch_finish(9)struct sev_data_snp_guest_status(9)struct sev_data_snp_page_reclaim(9)struct sev_data_snp_page_unsmash(9)struct sev_data_snp_dbg(9)struct sev_data_snp_guest_request(9)struct sev_data_snp_init_ex(9)struct sev_data_range(9)struct sev_data_range_list(9)struct sev_data_snp_shutdown_ex(9)struct sev_platform_init_args(9)struct sev_data_snp_commit(9)struct sev_data_snp_feature_info(9)struct sev_data_snp_verify_mitigation(9)struct sev_data_snp_verify_mitigation_dst(9)struct sev_snp_tcb_version_turin(9)sev_module_init(9)sev_platform_init(9)sev_platform_status(9)sev_issue_cmd_external_user(9)sev_guest_deactivate(9)sev_guest_activate(9)sev_guest_df_flush(9)sev_guest_decommission(9)sev_do_cmd(9)
side note bestie: that list is long enough to need its own hydration reminder π but every single one of them is in there, we do not gatekeep on this blog.
and that's the whole page, slay β¨ before you go β this beauty ships from source ./include/linux and it's dated October 2026 π so like, mark your calendars, she's from the future π bye bestie, go read your structs π¦π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms