STRUCT SEV_DATA_RECEIVE_START(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ struct sev_data_receive_start(9) β€” RECEIVE_START command parameters πŸŽ€

okay so bestie, welcome to the Kernel API Manual πŸ’… this one is a lil struct page from the kernel docs and it's honestly giving "quiet member of a huge friend group" energy β€” like it does one job and does it, periodt ✨


🌸 NAME 🌸

struct sev_data_receive_start β€” literally the RECEIVE_START command parameters, that's it, that's the whole vibe 🫢


✨ SYNOPSIS ✨

here's the struct, no cap, copy it exactly bestie:

struct sev_data_receive_start {
    u32 handle;
    u32 policy;
    u64 pdh_cert_address;
    u32 pdh_cert_len;
    u32 reserved1;
    u64 session_address;
    u32 session_len;
 };

like, that's the whole thing. seven fields. main character energy, lowkey πŸŽ€


πŸ’– Members πŸ’–

okay so every field, and what it actually does β€” the ones the docs describe, anyway πŸ‘€

  • handle β€” the handle of the VM that's doing the receive operation πŸ’« like, this is which VM we're talking about.
  • policy β€” it's in the struct, it's a u32, it's there. that's the tea the docs give us πŸ™ˆ (no description in the source page, so no invented lore from me, bestie β€” we don't make things up in this house πŸ’…)
  • pdh_cert_address β€” the system physical address that's holding the PDH certificate blob πŸ“
  • pdh_cert_len β€” the length of that PDH certificate blob, iykyk πŸŽ€
  • reserved1 β€” reserved πŸ«₯ it's a u32 and it's reserved and we simply respect its privacy, periodt.
  • session_address β€” the system physical address that's holding the session blob πŸ“¬
  • session_len β€” the length of the session blob, slay 🌸
ngl, policy and reserved1 show up in the struct but get no little description in the original page, so I'm not gonna make one up β€” that would be fake news and we don't do that πŸ’€

πŸ”₯ SEE ALSO πŸ”₯

the friend group is huge bestie, like genuinely enormous, brace yourself 🌈

Kernel file ./include/linux/psp-sev.h, plus all of these:

  • 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_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)

like... all of them πŸ’€ every single one made the list, we don't skip people in this group chat 🫢


πŸ’œ that's the whole page bestie, no hidden sections, no surprises, exactly the facts with extra sparkle. go forth and RECEIVE_START responsibly ✨

okay so the sign-off πŸŽ€ this one lives under ./include/linux and the page is dated October 2026 β€” so like, future-dated slay πŸ’… see u in the next manual, mwah πŸ“πŸ§š

πŸ“¦ where this page comes from