Are there security / cybersecurity differences between OP-TEE TA and PTA on Jetson, and how to implement a secure watchdog reset?

Hi, thanks again for the explanation!

I’d like to double-check my understanding and then ask specifically about the reset path:

  1. TA vs. PTA (security perspective)
    As I understand it:

    • A PTA is part of the OP-TEE core, runs in secure kernel mode (S-EL1), shares the core’s address space and can call internal core APIs directly.

    • A TA runs in secure user mode (S-EL0), has its own .ta binary and an isolated context.

    From a security perspective this would mean that a successful exploit in a PTA could compromise the whole OP-TEE core, whereas an exploit in a TA would (in principle) be contained to that TA. So in general, it seems preferable to keep complex logic in TAs and avoid PTAs unless strictly necessary.
    Is this understanding correct?

  2. Reset implementation (TA vs. PTA)
    In my design, the watchdog / verifier logic itself will run in a TA.
    What I’m still unsure about is the reset mechanism:

    • Is it actually possible on Jetson to trigger a platform reset purely from a TA, e.g. via some OP-TEE core service or existing PTA?

    • If not, would you recommend implementing a minimal PTA that only provides a “reset now” command (e.g. doing a PSCI reset) and is called by the watchdog TA when the system is deemed untrusted?

    I’d like to understand what I would be giving up security-wise by introducing such a reset-PTA compared to a purely TA-based solution.

  3. Practical reset options on Jetson
    Finally, I’m looking for guidance on the practical reset options on Jetson:

    • How would you typically reset the board from Linux userspace (outside of OP-TEE)? Just reboot(2) or also via a GPIO wired to the reset input?

    • How could a reset be triggered from the TEE side (TA or PTA)?

    • Is there any recommended way (or documentation) for asserting the module’s SYS_RESET line on Jetson?

Is there a pattern you would generally recommend (PSCI reset from secure world vs. Linux reboot vs. GPIO-based reset), and which approach would you prefer for a security-critical watchdog on Jetson with OP-TEE, fTPM and IMA?

Any clarification on these points would be very helpful. Thanks again!