sev_module_init(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– sev_module_init(9) β€” the Kernel API Manual glow-up πŸŽ€

okay so bestie, we're in the Kernel API Manual today and the star of the show is sev_module_init(9) β€” yes that's a section-9 manpage, yes we're reading kernel API docs for fun now, that's just the era we're in πŸ’…


✨ NAME ✨

sev_module_init β€” perform PSP SEV module initialization

like, literally the function that kicks off the whole PSP SEV module init situation πŸ”₯


πŸ¦‹ SYNOPSIS πŸ¦‹

int sev_module_init (void );

no cap, that's the whole signature. int goes in, void goes in the parens, good vibes come out (hopefully) 🌸


πŸŽ€ ARGUMENTS πŸŽ€

  • void β€” no arguments. none. zero. the void is the vibe. she takes nothing and she gives everything 🫢

⭐ RETURN ⭐

  • 0 β€” if the PSP module is successfully initialized. slay πŸ’–
  • negative value β€” if the PSP module initialization fails 😭 not the vibe, but at least you know

🌈 SEE ALSO 🌈

so many friends, so many structs, it's giving family reunion πŸ‘‘

The kernel file ./include/linux/psp-sev.h β€” go say hi to her:

  • 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)

and the function besties:

periodt. that's the whole friend group πŸ’œ


ngl bestie, this is kernel-land API documentation β€” read it, love it, but don't expect it to do your laundry πŸ™ˆ

this iconic little page lives at ./include/linux, dated October 2026, and it's part of the Kernel API Manual β€” mwah, go read the source, ily, bye πŸ§šπŸ’–βœ¨

πŸ“¦ where this page comes from