STRUCT SEV_DATA_INIT_EX(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct sev_data_init_ex β€” INIT_EX command parameters πŸŽ€

okay so bestie, this is a page from the Kernel API Manual (section 9, the kernel-API part of the Unix manual pages), and it's all about struct sev_data_init_ex. yes it's a struct, no it's not scary, come sit with me πŸ’–


✨ NAME ✨

struct sev_data_init_ex β€” the parameter squad for the INIT_EX command. that's it, that's the vibe. πŸ¦‹


🌸 SYNOPSIS 🌸

here's the whole lil struct, literally copy it exactly, don't be creative with it:

struct sev_data_init_ex {
    u32 length;
    u32 flags;
    u64 tmr_address;
    u32 tmr_len;
    u32 reserved;
    u64 nv_address;
    u32 nv_len;
 };

look at her. seven fields. main character energy πŸ‘‘


πŸŽ€ Members πŸŽ€

time for the roll call, one by one, no skipping, i would never πŸ™ˆ

  • length β€” the length of the command buffer that gets read by the PSP. that's the size, bestie, know it.
  • flags β€” processing flags. the little switches that tell things how to behave ✨
  • tmr_address β€” the system physical address used for SEV-ES. a whole address, physical, system-level. slay.
  • tmr_len β€” the length of tmr_address. it's literally the len of the address, that's the whole job.
  • nv_address β€” the system physical address used for PSP NV storage. NV storage, PSP, physical address. iconic.
  • nv_len β€” the length of nv_address. again: len of the address. consistency is a flex πŸ’…
lowkey notice there's no bullet for reserved in the members list β€” that's exactly how the original page does it, so i'm keeping it that way, no cap. the field is in the struct, the description isn't. 🫢

πŸ¦‹ SEE ALSO πŸ¦‹

okay this is the part where the page just flexes its entire friend group. the kernel file is ./include/linux/psp-sev.h, and then it's a whole parade of siblings. all of these, every single one, i'm not dropping anybody πŸ’–

struct sev_data_init(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_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. that's the whole group chat. 58 entries and every one of them made it in. iykyk 😭πŸ”₯


k that's the page! mwah πŸ’‹

and a lil sign-off for the fine print: this page lives under ./include/linux, it's dated October 2026, and it's page struct sev_data_init_ex(9) of the Kernel API Manual. take care of her, she's iconic 🌈⭐

πŸ“¦ where this page comes from