sev_platform_status(9)
π sev_platform_status(9) β a Kernel API Manual moment
okay so bestie, welcome to the sev_platform_status(9) page, aka the little kernel API manual entry that does exactly one iconic thing: it says "hey SEV, what's your status?" and waits for the vibes report. no cap, that's the whole plot. π
β¨ NAME β¨
sev_platform_status β literally just performs the SEV PLATFORM_STATUS command. that's it, that's the whole function, and it eats every single time π
πΈ SYNOPSIS πΈ
int sev_platform_status (struct sev_user_data_status *status , int
*error );
like, look at her. two pointers, one int return, zero notes. main character energy fr fr π₯
π¦ ARGUMENTS π¦
statusβ thesev_user_data_statusstructure that's getting processed. she's the one holding the tea βerrorβ the SEV command return code, aka where the "how did it go" info lands
π RETURN π
okay so here's the vibe check on what you get back:
0β if the SEV successfully processed the command. slay. we love a success. β¨-ENODEVβ if the SEV device is not available. she's not here right now, respectfully π-ENOTSUPPβ if the SEV does not support SEV. yes bestie that's a real sentence and it's sending me π-ETIMEDOUTβ if the SEV command timed out. it's giving "left you on read" π-EIOβ if the SEV returned a non-zero return code. not the non-zero return code π«
lowkey important: these are the actual literal codes, so don't go renaming them or making up new ones, i'm begging π₯Ί
π SEE ALSO π
okay this list is LONG, hydrate before reading, but every single one of these is part of the family so we're listing all of them, periodt π
The kernel file + structs:
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_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).
The functions:
sev_module_init(9), sev_platform_init(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 squad. no skips, no merges, iykyk π§
π«Ά the cute sign-off π«Ά
this little page lives in ./include/linux, and it's dated October 2026 β so mark your calendars bestie, because that's when this manual entry was stamped. go forth and check your platform status responsibly. mwah ππ
π¦ 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