STRUCT SEV_DATA_LAUNCH_UPDATE_DATA(9)
π
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
- 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