STRUCT SEV_DATA_LAUNCH_UPDATE_VMSA(9)
π struct sev_data_launch_update_vmsa β LAUNCH_UPDATE_VMSA command π
Okay bestie, this is a page from the Kernel API Manual, and it's about struct sev_data_launch_update_vmsa β the struct that carries the LAUNCH_UPDATE_VMSA command. That's it, that's the whole vibe. It's a little descriptor struct, no cap. π
β¨ NAME β¨
struct sev_data_launch_update_vmsa β the LAUNCH_UPDATE_VMSA command, literally right there in the name π«Ά
πΈ SYNOPSIS πΈ
Here's the shape of it, character for character, don't touch:
struct sev_data_launch_update_vmsa {
u32 handle;
u32 reserved;
u64 address;
u32 len;
};
π¦ Members π¦
So the members list describes three of them (we do not gatekeep, but we also do not invent entries β the reserved field is just out here living its life undescribed in the original page, and we're not gonna make up a description for it, periodt π):
handleβ the handle of the VM π like, which VM are we talking about? This one.addressβ the physical address of the memory region to encrypt π₯lenβ the len of the memory region to encrypt. Yes, "len of". Iconic. π
π SEE ALSO π
Kernel file ./include/linux/psp-sev.h β and then, babes, there is a whole friend group of sibling structs and functions to check out. Every single one, in order, no skips:
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_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)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)
Heads up bestie:struct sev_data_launch_update_vmsais spelled with a lowercase v invmsa, but the command isLAUNCH_UPDATE_VMSAin all caps. Two different vibes, both correct, don't come for me π
That's the whole page, mwah π It lives in ./include/linux, and this version is dated October 2026 β so like, future-coded of it. Go read the SEE ALSO list, it's giving "study group" and honestly every one of them ate. 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