STRUCT SEV_DATA_SNP_LAUNCH_FINISH(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct sev_data_snp_launch_finish β€” Kernel API Manual ✨

okay bestie, gather round, because this is the moment. this is the struct sev_data_snp_launch_finish page from the Kernel API Manual, and yes it's giving "cryptographic guest launch finale" energy and we are obsessed πŸŽ€


🌸 NAME 🌸

struct sev_data_snp_launch_finish β€” literally the params for the SNP_LAUNCH_FINISH command. that's it, that's the vibe πŸ¦‹


✨ SYNOPSIS ✨

here's the whole struct, copy it exactly bestie, don't you dare typo it:

struct sev_data_snp_launch_finish {
    u64 gctx_paddr;
    u64 id_block_paddr;
    u64 id_auth_paddr;
    u8 id_block_en:1;
    u8 auth_key_en:1;
    u8 vcek_disabled:1;
    u64 rsvd:61;
    u8 host_data[32];
 };

🫢 Members 🫢

one by one, no skipping, we're doing all of them πŸ’–

  • gctx_paddr β€” the system physical address of the guest context page. like, where the guest's whole context lives in physical memory, iykyk πŸ—ΊοΈ
  • id_block_paddr β€” the system physical address of the ID block πŸ“‡
  • id_auth_paddr β€” the system physical address of the ID block authentication structure πŸ”
  • id_block_en β€” says whether the ID block is present or not. it's a little "is it there tho" flag ✨
  • auth_key_en β€” says whether the author key is present in the authentication structure πŸ”‘
  • vcek_disabled β€” says whether use of VCEK is allowed for attestation reports. yes, the name says "disabled" and the description talks about "allowed" β€” that's the kernel being iconic, we don't question it πŸ’€
  • rsvd β€” reserved. hands off, it's not for you πŸ™ˆ
  • host_data β€” host-supplied data for the guest, and firmware does not interpret it. it's a little sealed envelope the host hands over, [32] bytes of pure mystery πŸ“

πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./include/linux/psp-sev.h β€” and then the entire friend group, fr fr, we're tagging everyone:

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_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_genoa_milan(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)

like, the whole squad showed up. no cap πŸ‘‘


ngl bestie, rsvd is reserved β€” do not go poking at it, that's not your business πŸ’€ and host_data is not interpreted by firmware, so don't expect it to read your little note 🌈

and that's the page!! mwah πŸ’‹ this one comes from ./include/linux and it's stamped October 2026 β€” so screenshot it, cite it, put it on your fridge, periodt. πŸ§šπŸ’œ

πŸ“¦ where this page comes from