STRUCT QCOMTEE_MSG_OBJECT_INVOKE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay bestie, you're looking at the manual page for struct qcomtee_msg_object_invoke in the Kernel API Manual, section 9. it is literally the Direct object invocation message and that's the whole vibe. periodt. πŸ’…

✨ SYNOPSIS ✨

       struct qcomtee_msg_object_invoke {
           u32 cxt;
           u32 op;
           u32 counts;
           union qcomtee_msg_arg args[];
        };

🫢 Members 🫢

  • cxt β€” object ID hosted in QTEE. no cap.
  • op β€” operation for the object. yes bestie.
  • counts β€” number of different types of arguments in args. it's counting the arg types.
  • args β€” array of arguments. literally the arg pile.

πŸ’… Description πŸ’…

okay so counts consists of 4 * 4-bit fields. Let's break the bits down, because this part is lowkey iconic:

  • Bits 0 - 3 represent the number of input buffers.
  • Bits 4 - 7 represent the number of output buffers.
  • Bits 8 - 11 represent the number of input objects.
  • Bits 12 - 15 represent the number of output objects.

The remaining bits should be zero. 🫢

here's the cute little diagram, bestie:

       15            12 11             8 7              4 3              0

       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
       β”‚     #OO objects   #IO objects   #OB buffers   #IB buffers β”‚
       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

The maximum number of arguments of each type is defined by QCOMTEE_ARGS_PER_TYPE.

🌈 SEE ALSO 🌈

go read these too, bestie:


that's the whole page, bestie πŸ’– β€” source/version: ./drivers/tee/qcomtee, date: October 2026. byeee βœ¨πŸ¦‹

πŸ“¦ where this page comes from