STRUCT SEV_DATA_RECEIVE_UPDATE_DATA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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 β€” the len of the packet header.
  • guest_address β€” the system physical address of the guest memory region.
  • guest_len β€” the len of the guest memory region.
  • trans_address β€” the system physical address of the transport buffer.
  • trans_len β€” the len of 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