STRUCT SEV_DATA_SNP_LAUNCH_UPDATE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct sev_data_snp_launch_update(9)

okay bestie, welcome to the Kernel API Manual ✨ this one's from ./include/linux and it's dated October 2026, so yeah, we're literally reading the future 🫢


🌸 NAME 🌸

struct sev_data_snp_launch_update β€” the params for the SNP_LAUNCH_UPDATE command, no cap πŸ’«


✨ SYNOPSIS ✨

here's the whole struct, exactly as it lives, don't touch a single field:

struct sev_data_snp_launch_update {
    u64 gctx_paddr;
    u32 page_size:1;
    u32 page_type:3;
    u32 imi_page:1;
    u32 rsvd:27;
    u32 rsvd2;
    u64 address;
    u32 rsvd3:8;
    u32 vmpl1_perms:8;
    u32 vmpl2_perms:8;
    u32 vmpl3_perms:8;
    u32 rsvd4;
 };

πŸŽ€ Members πŸŽ€

okay so let's go field by field, i got you πŸ‘‘

  • gctx_paddr β€” the system physical address of the guest context page. like, where the gctx actually lives in memory 🏠
  • page_size β€” page size, and it's picky: 0 means a 4K page, 1 means a 2MB page. binary choice, main character energy πŸ’…
  • page_type β€” the encoded page type. encoded, bestie, don't just guess at it πŸ”
  • imi_page β€” tells you this page is part of the guest's IMI (that's the Incoming Migration Image) πŸ¦‹
  • rsvd β€” reserved. leave it alone πŸ™ˆ
  • rsvd2 β€” reserved too. also leave it alone 😭
  • address β€” the system physical address of the destination page to encrypt πŸ”₯ this is the one doing the actual work
  • rsvd3 β€” reserved, again πŸ’€
  • vmpl1_perms β€” the VMPL permission mask for VMPL1 πŸ‘‘
  • vmpl2_perms β€” the VMPL permission mask for VMPL2 πŸ‘‘
  • vmpl3_perms β€” the VMPL permission mask for VMPL3 πŸ‘‘
  • rsvd4 β€” reserved. fourth time's the charm 🌸
real talk: there are four reserved fields in here (rsvd, rsvd2, rsvd3, rsvd4) and they're reserved for a reason β€” don't get creative with them, that's not the vibe 🫢

🌈 SEE ALSO 🌈

this list is long and it ate, every single one is here, periodt:

  • Kernel file ./include/linux/psp-sev.h
  • 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_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_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)

and that's the whole page, bestie πŸ§šπŸ’œ mwah πŸ’‹

source: ./include/linux Β· dated October 2026 Β· tilde-tilde-tilde struct sev_...aunch_update(9) tilde-tilde-tilde ✨ slay, go encrypt your pages πŸ“

πŸ“¦ where this page comes from