STRUCT SEV_DATA_SNP_FEATURE_INFO(9)
π struct sev_data_snp_feature_info(9) β SEV_SNP_FEATURE_INFO structure
okay bestie, welcome to section 9 of the Kernel API Manual β this is the glow-up era of struct sev_data_snp_feature_info, and she is worth knowing about. π
β¨ NAME β¨
struct sev_data_snp_feature_info β the SEV_SNP_FEATURE_INFO structure. yes that's the whole name, no she did not need a longer one, she said what she said. π
β¨ SYNOPSIS β¨
struct sev_data_snp_feature_info {
u32 length;
u32 ecx_in;
u64 feature_info_paddr;
};
look at her. three members, zero drama, fully iconic. π₯ (and yes, that extra space before the closing brace is exactly how she's printed, we don't touch it, we respect her.)
β¨ Members β¨
okay so let's meet the cast, one by one, no skipping, we are not doing that π
lengthβ the len of the command buffer read by the PSP. that's it, that's the whole vibe, she's just here to say how long the thing is. πecx_inβ the subfunction index. lowkey the main character of the trio ngl, she's the one telling you which subfunction we're talking about. πfeature_info_paddrβ the System Physical Address of theFEATURE_INFOstructure. a whole address, physical, system-wide β she doesn't do vague, she does exact. π¦
β¨ SEE ALSO β¨
firstly, shoutout to the kernel file she lives in: ./include/linux/psp-sev.h π«Ά β that's home.
and then, omg, the friend group. it's giving group chat with 55 members and honestly every single one of them ate:
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_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, the range?? structs and functions, all in one list, we love a mixed friend group π
fr fr though β if you're poking at PSP command buffers, read the whole squad, not just this one. iykyk π§
and that's the page!! π she ships from ./include/linux, dated October 2026, and yes the footer still spells her name all abbreviated like struct sev_d...feature_info(9) β the truncation is part of the brand at this point πβ¨ slay, 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