STRUCT OPTEE_SMC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct optee_smc(9) πŸ’…

okay so bestie, welcome to the Kernel API Manual β€” the struct we're doing today is literally the main character of optee smc communication energy ✨ (that's what the name means, no cap: optee smc communication struct πŸŽ€).


✨ SYNOPSIS ✨

here's the whole vibe, copy it exactly, don't touch a single character πŸ™ˆ:

struct optee_smc {
    optee_invoke_fn *invoke_fn;
    void *memremaped_shm;
    u32 sec_caps;
    unsigned int notif_irq;
    struct optee_pcpu __percpu *optee_pcpu;
    struct workqueue_struct *notif_pcpu_wq;
    struct work_struct notif_pcpu_work;
    unsigned int notif_cpuhp_state;
 };

🌸 Members 🌸

one by one, bestie, we're going through all of them πŸ’–:

  • invoke_fn β€” the handler function that invokes the secure monitor. it's giving "you want to talk to the secure world? talk to her" πŸ‘‘
  • memremaped_shm β€” the virtual address of memory in the shared memory pool 🧚
  • sec_caps β€” secure world capabilities, defined by OPTEE_SMC_SEC_CAP_* over in optee_smc.h. that's the capability vibe check βœ…
  • notif_irq β€” the interrupt used as async notification by OP-TEE, or 0 if there isn't one 🫢
  • optee_pcpu β€” per_cpu optee instance for per cpu work, or NULL. so either a whole per-cpu moment or absolutely nothing, she contains multitudes 😭
  • notif_pcpu_wq β€” workqueue for per cpu asynchronous notification, or NULL 🌈
  • notif_pcpu_work β€” work for per cpu asynchronous notification ⭐
  • notif_cpuhp_state β€” CPU hotplug state assigned for pcpu interrupt management πŸ”₯

πŸ¦‹ SEE ALSO πŸ¦‹

go read these next, i'm obsessed with all of them fr fr:

  • Kernel file ./drivers/tee/optee/optee_private.h β€” struct optee_call_waiter(9)
  • struct optee_call_queue(9)
  • struct optee_supp(9)
  • struct optee_pcpu(9)
  • struct optee_ffa(9)
  • struct optee_revision(9)
  • struct optee_ops(9)
  • struct optee(9)

and that's the whole page bestie!! this manual came straight out of ./drivers/tee/optee, dated October 2026, and it's titled struct optee_smc(9) πŸŽ€βœ¨ mwah, slay, go read the source πŸ’œ

πŸ“¦ where this page comes from