STRUCT SEV_DATA_RECEIVE_UPDATE_DATA(9)
π NAME π
struct sev_data_receive_update_data β bestie, this is the parameters struct for the RECEIVE_UPDATE_DATA command. That's the name reveal: struct sev_data_receive_update_data, and its whole summary is literally βRECEIVE_UPDATE_DATA command parameters.β We're hanging out in the Kernel API Manual, and yes, this is the SEV data struct you were looking for β¨.
β¨ SYNOPSIS β¨
okay so the struct is exactly this, no cap:
struct sev_data_receive_update_data {
u32 handle;
u32 reserved1;
u64 hdr_address;
u32 hdr_len;
u32 reserved2;
u64 guest_address;
u32 guest_len;
u32 reserved3;
u64 trans_address;
u32 trans_len;
};
π Members π
Here's the member-by-member vibe check. The struct also carries reserved1, reserved2, and reserved3, but the Members list doesn't give them their own little blurbs. That's just how the page is set up π
.
handleβ the handle of the VM you're updating.hdr_addressβ the physical address containing the packet header blob.hdr_lenβ thelenof the packet header.guest_addressβ the system physical address of the guest memory region.guest_lenβ thelenof the guest memory region.trans_addressβ the system physical address of the transport buffer.trans_lenβ thelenof the transport buffer.
π SEE ALSO π
Kernel file ./include/linux/psp-sev.h is the home base, and the whole SEV friend group is here:
- 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_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)
that's the whole page, bestie π«Ά. footer deets for the record: source/version is ./include/linux, dated October 2026, and the footer tag is struct sev_..._update_data(9). mwah π
π¦ 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