smccc_smc(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– SMCCC_SMC πŸ’– (9)

okay bestie, welcome to smccc_smc(9) straight out of the Kernel API Manual β€” this is the page for smccc_smc, and it is literally the "hey firmware, do a thing for me" function 🫢. Buckle up, it's short but it's iconic.


✨ NAME ✨

smccc_smc β€” Invoke a SMCCC function using the smc conduit 🌈

like… that's the whole vibe. you call a SMCCC function, and the smc conduit is the little doorway it goes through. no cap.


πŸ¦‹ SYNOPSIS πŸ¦‹

void smccc_smc (u32 function_id , u64 arg0 , u64 arg1 , u64 arg2 , u64 arg3 , u64 arg4 , u64 arg5 , u64 arg6 , struct arm_smccc_res *res );

that's eight arguments and one pointer, and yes you have to keep them all in order πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • function_id β€” the SMCCC function to be called ✨ this is the main character, it decides which firmware function gets summoned.
  • arg0-arg6 β€” SMCCC function arguments, corresponding to registers x1-x7 πŸ‘‘ so like, the args hand off to those registers, iykyk.

and then the page goes one by one, and honestly it's giving "the devs left these blank on purpose" energy, so here we are, one bullet each, nothing invented:

  • arg0 β€” -- undescribed -- 🫠
  • arg1 β€” -- undescribed -- 🫠
  • arg2 β€” -- undescribed -- 🫠
  • arg3 β€” -- undescribed -- 🫠
  • arg4 β€” -- undescribed -- 🫠
  • arg5 β€” -- undescribed -- 🫠
  • arg6 β€” -- undescribed -- 🫠
  • res β€” pointer to write the return values from registers x0-x3 πŸ’€ this is where the firmware drops the receipts. it's a pointer to struct arm_smccc_res, and the four values from x0 through x3 land in there.
ngl bestie, that's the entire description of every argument. doesn't matter, we ate anyway πŸ“

🌸 SEE ALSO 🌸

  • Kernel file ./tools/testing/selftests/kvm/include/arm64/processor.h 🧚
  • struct arm_smccc_res(9) ⭐
  • smccc_hvc(9) πŸ”₯ β€” the other conduit, the hvc one, go look at it too

okay that's the whole page, you're so welcome πŸ’œ this was smccc_smc(9), from the source ./tools/testing/selftests/kvm/..., dated October 2026, and the footer of the original literally says smccc_smc(9) again β€” full circle, periodt πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from