smccc_hvc(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so you're on the smccc_hvc(9) page in the Kernel API Manual, and it's giving kernel bestie energy πŸ’–βœ¨. The whole vibe? smccc_hvc invokes a SMCCC function using the hvc conduit. No cap. 🫢


🌸 NAME 🌸

smccc_hvc β€” invoke a SMCCC function using the hvc conduit. periodt. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

Here's the whole signature, bestie β€” copy it exactly, don't come for me:

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

πŸŽ€ ARGUMENTS πŸŽ€

okay so the arguments are literally right here, and yes we're keeping every single one:

  • function_id β€” the SMCCC function to be called. arg0-arg6 are the SMCCC function arguments, corresponding to registers x1-x7.
  • 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.

not me listing every arg even when they're all -- undescribed -- 😭 but the page said it, so we're saying it. 🫢


🌈 SEE ALSO 🌈

go peek at these too, iykyk:

  • Kernel file ./tools/testing/selftests/kvm/include/arm64/processor.h
  • struct arm_smccc_res(9)
  • smccc_smc(9)

and that's the whole vibe check πŸ’…βœ¨. This page's source/version is ./tools/testing/selftests/kvm/... and smccc_hvc(9), dated October 2026 β€” mwah, slay, bye bestie πŸ«ΆπŸ’œ

πŸ“¦ where this page comes from