STRUCT OPTEE_MSG_PARAM_FMEM(9)
π struct optee_msg_param_fmem(9) π
okay so bestie, welcome to the Kernel API Manual β yes we're literally in the kernel manuals now, look at us π β and today's main character is struct optee_msg_param_fmem, aka the FF-A memory reference parameter. That's the whole NAME section, slay, let's get into it β¨
πΈ SYNOPSIS πΈ
struct optee_msg_param_fmem {
u32 offs_low;
u16 offs_high;
u16 internal_offs;
u64 size;
u64 global_id;
};
that's the whole struct, no cap. five fields, all of them matter, keep scrolling π«Ά
π MEMBERS π
offs_lowβ the lower bits of the offset into the shared memory reference. baby bits of the offset, but they still count πoffs_highβ the higher bits of the offset into that shared memory reference. the upper-half bestie tooffs_low, they literally come as a pair π¦internal_offsβ offset into the first 4 KiB page of the FF-A shared memory region. yes, 4 KiB, that one. not the whole region, just that first page β¨sizeβ size of the buffer. the vibe check of how much we're working with πglobal_idβ global identifier of the shared memory. its government name, its passport, its whole identity π
π₯ SEE ALSO π₯
- the kernel file
./drivers/tee/optee/optee_msg.hβ go read the source, it's giving lore π struct optee_msg_param_tmem(9)struct optee_msg_param_rmem(9)struct optee_msg_param_value(9)struct optee_msg_param(9)struct optee_msg_arg(9)OPTEE_MSG_GET_ARG_SIZE(9)
the whole friend group honestly, collect them all like stickers π
ngl this page is short and sweet β but every field above is load-bearing, so don't go skipping any of them π
and that's the tea, bestie! this one came out of ./drivers/tee/optee in the October 2026 drop of the Kernel API Manual β go forth and reference your FF-A shared memory correctly ππ§ββοΈ
π¦ 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