STRUCT SEV_DATA_LAUNCH_UPDATE_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct sev_data_launch_update_data β€” LAUNCH_UPDATE_DATA command parameter πŸ’…

okay so this is a page from the Kernel API Manual, and bestie, it's a tiny one but it's important. This struct is literally the parameter bundle for the LAUNCH_UPDATE_DATA command. That's the whole vibe. Short king. πŸ‘‘


✨ SYNOPSIS ✨

Like, here's the whole struct, exactly as it lives in the kernel. No cap, this is it:

struct sev_data_launch_update_data {
    u32 handle;
    u32 reserved;
    u64 address;
    u32 len;
};

Look at it. Four fields. Immaculate. πŸŽ€


🌸 MEMBERS 🌸

  • handle β€” the handle of the VM you're updating. it's giving "which guest are we doing this for" energy 🫢
  • address β€” the physical address of the memory region you wanna encrypt. yes, physical. not your cute little virtual one, the real one πŸ”₯
  • len β€” the length of the memory that's getting encrypted. how much are we encrypting, bestie? this much πŸ’–
also there's a reserved field sitting in the struct up there β€” the original page literally gives it no description, so I'm not gonna invent one. hands off. don't touch. leave it alone. πŸ™ˆ

πŸ”Ž SEE ALSO πŸ”Ž

it's in the kernel file ./include/linux/psp-sev.h, and there is so much family around it. like, this struct has a whole extended friend group. go say hi πŸ‘‹

  • 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_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_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, literally. it lives at ./include/linux, dated October 2026, and this lil cutie right here is struct sev_d..._update_data(9) from the Kernel API Manual. periodt. πŸ’œπŸ¦‹

πŸ“¦ where this page comes from