rtas_work_area_alloc(9)
welcome to the rtas_work_area_alloc(9) page from the Kernel API Manual β¨ bestie, this one is short but lowkey important, so let's get into it π
π NAME π
rtas_work_area_alloc β acquire a work area of the requested size π«Ά
β¨ SYNOPSIS β¨
rtas_work_area_alloc (size_ );
π ARGUMENTS π
size_β the allocation size, bestie. it must be a compile-time constant, and it can't be more thanRTAS_WORK_AREA_MAX_ALLOC_SZπ no cap.
π¦ DESCRIPTION π¦
okay so this function allocates a buffer that's suitable for passing to RTAS functions which have a memory address parameter. PAPR often calls that thing a "work area" β often, but not always, iykyk πΈ
callers are allowed to block while holding a work area, but the amount of memory reserved for this purpose is limited, so allocations should be short-lived. a good guideline? release any allocated work area before returning from a system call π periodt.
this function does not fail. it blocks until the allocation succeeds. and to prevent deadlocks, callers are discouraged from allocating more than one work area simultaneously in a single task context π
π΄ CONTEXT π΄
this function may sleep. fr fr, it can sleep π΄
π RETURN π
a struct rtas_work_area descriptor for the allocated work area π
π SEE ALSO π
- Kernel file
./arch/powerpc/include/asm/rtas-work-area.h struct rtas_work_area(9)rtas_work_area_free(9)
xoxo, this page came from ./arch/powerpc/include/asm and it's dated October 2026 β slay and bye bestie π¦ππ
π¦ 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