OP-TEE: Misc
2024-10-6
| 2025-1-12
本文字數 131閱讀時長 1 分鐘
type
status
date
slug
summary
tags
category
icon
password
⚠️
The code is based on: https://gitlab.com/riseproject/riscv-optee/optee_os/-/tree/dev-optee-mpxy Commit ID: 75df9ba41a404aec897399ead0ff0aebcbff48ca
  • Base addresses:
    • U-Boot SPL: 0x80000000
    • OpenSBI: 0x80100000
    • OP-TEE: 0xf1000000
    • U-Boot proper: 0x81200000 / Relocated to: 0x17f76f000, relocate offset = 0xfe558000
      • E.g. 0x81217b660x17f76fb66; 0x812328840x17f78a884
    • Linux Kernel: 0x80200000 / 0xffffffff80000000

  • When traps, mscratch/sscratch:
    • If 0: Trap from kernel.
    • If !0: Trap from user.
    • See thread_init_per_cpu(), thread_trap_vect().
      • thread_init_per_cpu() sets mscratch/sscratch to 0 to indicate that the trap is from kernel.

  • Fast Calls and Yielding Calls
    • Fast Calls execute atomic operations. The call appears to be atomic from the perspective of the calling PE, and returns when the requested operation has completed.
    • Yielding Calls start operations that can be pre-empted by a Non-secure interrupt. The call can return before the requested operation has completed.
  • OP-TEE
  • OpenSBI: MPXYOP-TEE: libteec
    Loading...
    目錄