STRUCT SEV_DATA_SNP_FEATURE_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 the FEATURE_INFO structure. 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