STRUCT SEV_DATA_SNP_INIT_EX(9)
π struct sev_data_snp_init_ex(9) π
okay so bestie, welcome to the Kernel API Manual β yes that Kernel API Manual β and today's main character is struct sev_data_snp_init_ex. it's an SNP_INIT_EX structure, and honestly? she's giving "quietly important." let's get into it π
β¨ NAME β¨
struct sev_data_snp_init_ex β the SNP_INIT_EX structure. that's it, that's the name, no notes π«Ά
πΈ SYNOPSIS πΈ
bestie here's the whole shape of her, copy it exactly, don't @ me:
struct sev_data_snp_init_ex {
u32 init_rmp:1;
u32 list_paddr_en:1;
u32 rapl_dis:1;
u32 ciphertext_hiding_en:1;
u32 tio_en:1;
u32 rsvd:27;
u32 rsvd1;
u64 list_paddr;
u16 max_snp_asid;
u8 rsvd2[46];
};
look at those little bitfields, so tiny, so precise. iconic β¨
π Members π
so the page itself only spells out a few of these, and I'm gonna tell you exactly what it says and nothing more, because making stuff up is not the vibe π
init_rmpβ indicates that the RMP should be initialized. yes queen, set that flag.list_paddr_enβ indicates thatlist_paddris valid. like a little "this one's real" permission slip πrsvdβ reserved. mind your business, nothing to see here.rsvd1β reserved. again. reserved means reserved, bestie πlist_paddrβ the system physical address of the range list. that's where the list lives, fr fr.rsvd2β reserved. the reserved-ification continues. π
ngl, the struct also hasrapl_dis,ciphertext_hiding_en,tio_en, andmax_snp_asidsitting up in there β those absolutely exist in the synopsis above, the page just doesn't give them their own little description. so I'm not gonna invent one. we respect the source in this house π«Ά
π¦ SEE ALSO π¦
so many siblings, it's a whole family reunion, and every single one is here, periodt:
Kernel file ./include/linux/psp-sev.h β and then, in order: 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_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_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).
aaaand that's the whole page bestie, you ate that πβ¨ mwah π
little sign-off: this one's stamped from ./include/linux, dated October 2026. so fresh, so demure. keep it in your bookmarks, iykyk π
π¦ 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