STRUCT SEV_DATA_PDH_CERT_EXPORT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct sev_data_pdh_cert_export(9) πŸ’…

okay bestie, so this is a page from the Kernel API Manual, and it's all about one little struct: struct sev_data_pdh_cert_export. It's giving "backstage pass to the PDH_CERT_EXPORT command" energy, and honestly? iconic. Let's get into it 🫢


✨ NAME ✨

struct sev_data_pdh_cert_export β€” the parameters for the PDH_CERT_EXPORT command. that's the whole vibe, no cap.


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the struct in all her main-character glory, copied exactly so you know I'm not playing with you:

struct sev_data_pdh_cert_export {
    u64 pdh_cert_address;
    u32 pdh_cert_len;
    u32 reserved;
    u64 cert_chain_address;
    u32 cert_chain_len;
 };

like… look at her. five fields. lowkey flawless πŸ’–


πŸŽ€ Members πŸŽ€

okay so the manual only spells out two of the fields, and I'm not about to make stuff up about the rest (that's not the vibe, fr fr). so:

  • cert_chain_address β€” the PDH certificate chain. yes bestie, the address of it. that's what the page says, and I'm just the messenger 🧚
  • cert_chain_len β€” the length of the PDH certificate chain. the manual literally says "len of PDH certificate chain," so we're keeping it cute and keeping it exact ✨
the other fields (pdh_cert_address, pdh_cert_len, reserved) are chillin' up in the struct too β€” they're right there in the synopsis, no erasure happening. the page just doesn't give them their own little blurbs. iykyk πŸ’…

🌈 SEE ALSO 🌈

bestie this list is long, it's giving full group chat, everyone's invited, nobody's left on read. first up, the source file:

  • Kernel file ./include/linux/psp-sev.h

and now the whole squad, all the structs:

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

and the functions, because they'd be so pressed if we forgot them 😭


and that's the whole page, bestie. no crumbs left behind, every single reference made the cut πŸ‘‘

this lil masterpiece lives over in ./include/linux, and the source/version + date line says October 2026 β€” so yeah, she's dated, she's filed, she's done. mwah πŸ’‹

πŸ“¦ where this page comes from