sev_platform_status(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’œ 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 β€” the sev_user_data_status structure 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