STRUCT RTAS_FUNCTION(9)
π struct rtas_function β NAME
okay so bestie, this is the kernel API manual for struct rtas_function, aka the Descriptor for RTAS functions. that's it, that's the whole vibe β it's a little struct that describes an RTAS function so the kernel knows how it's allowed to call it. π
β¨ SYNOPSIS β¨
struct rtas_function {
s32 token;
const bool banned_for_syscall_on_le:1;
const char * const name;
const struct rtas_filter *filter;
struct mutex *lock;
};
like, that's the whole shape of it. five members, no notes. π«Ά
πΈ Members πΈ
tokenβ this is the value ofnameif it actually exists under the/rtasnode. that's the whole assignment, no cap.banned_for_syscall_on_leβ this flag gets set when a call viasys_rtasis generally allowed but specifically restricted onppc64le. the tea here π΅: such functions are believed to have no users onppc64le, and the kernel wants to keep it that way. lowkey important: it does not make sense for this to be set whenfilterisNULL.nameβ the function name. that's the member, she's literally just the name πfilterβ if this is non-NULL, then invoking this function via the rtas syscall is generally allowed, andfilterdescribes the constraints on the arguments. see alsobanned_for_syscall_on_le(they're besties, you gotta read them together).lockβ pointer to an optional dedicated per-functionmutex. set this for functions that require multiple calls in sequence to complete a single operation β because those sequences will legitimately disrupt each other if you let them interleave π. users of this function are required to hold the associated lock for the duration of the call sequence. and fr fr, add an explanatory comment to the function table entry if you're setting this member β future you will thank you. π
π¦ SEE ALSO π¦
- Kernel file
./arch/powerpc/kernel/rtas.c rtas_function_token(9)rtas_call_unlocked(9)rtas_call(9)rtas_busy_delay_time(9)rtas_busy_delay(9)rtas_ibm_suspend_me(9)rtas_activate_firmware(9)get_pseries_errorlog(9)
and that's the page, bestie! β¨ this one lives in ./arch/powerpc/kernel, dated October 2026, from the Kernel API Manual β mwah, go read the source, ily, 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