STRUCT SEV_PLATFORM_INIT_ARGS(9)
π NAME π
struct sev_platform_init_args β bestie, this is the little args bundle you hand over when you're getting SEV platform stuff set up β¨ (she's lowkey iconic and the NAME line in the original said literally nothing else, so we're not gonna invent lore, okay? π)
This page lives in the Kernel API Manual, section 9, and it's giving "short but mighty" π«Ά
πΈ SYNOPSIS πΈ
okay so here's the whole vibe, copied exactly, no cap:
struct sev_platform_init_args {
int error;
bool probe;
unsigned int max_snp_asid;
};
π MEMBERS π
breakdown time, one member at a time, slay π
errorβ the SEV firmware error code. yeah that's it. she's the receipts field πprobeβTrueif this is being called as part of the CCP module probe. when that happens, the SEV_INIT/SEV_INIT_EX firmware initialization gets deferred until it's actually needed β unless thepsp_init_on_probemodule param is set. so basically "we'll do it later bestie, chill" β³β¨max_snp_asidβ when this is non-zero, it enables ciphertext hiding and specifies the maximum ASID that can be used for an SEV-SNP guest. non-zero = we're doing the thing π₯ zero = we are not π§
not me emphasizing that max_snp_asid only does its two jobs when it's non-zero β that's literally the whole condition, don't skip it π
π SEE ALSO π
Kernel file ./include/linux/psp-sev.h β and then the entire friend group, fr fr, everybody's invited to this party π (yes, all of them, we're not cutting anyone from the list):
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_snp_init_ex(9)struct sev_data_range(9)struct sev_data_range_list(9)struct sev_data_snp_shutdown_ex(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, no filler, we ate and left no crumbs ππ
and for the cute sign-off: this lil masterpiece comes from the source tree at ./include/linux, dated October 2026, and her header is literally struct sev_...rm_init_args(9) because the terminal had to truncate the glow-up π β go read the other pages, ily, bye π§π
π¦ 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