【optee相关】请教:ARM多核处理器,在REE端执行命令调转到TEE侧时,如何确定跳转到那个核上执行上,是否可以改变跳转到固定的目标核(当前使用ARM V8架构)。

查阅资料,在多核处理器上从REE端跳转到TEE端,存在两种方案:1、在运行在多个核心上的REE端跳转后,均在CPU0上执行TEE环境;2、在每个核心上都存在TEE端,都可以从REE段跳转到TEE端执行。疑问1,如何实现从多个核心上跳转到固定核心(以CPU0为例)上的,是在跳转到TEE前,先进行核间通信,最后由CPU0执行smc指令?还是存在其他机制,这部分内容是在 arm-trusted-firmare代码中实现的吗?2、由TEE向REE跳转前,如果没有清cache,在REE侧使用cache时,是否会换出TEE环境使用的cache,如果可以,在换出这部分cache,在总线上,是否会按照 非安全 CPU,将这部分cache写会到DDR,即存在TZC400时,检测到非安全CPU访问安全环境区。

谢谢,

Parents
No Data
Reply
  • Q1: In Arm Trusted Firmware (ATF), TEE can be executed in any SMP core, not fixed to a dedicated CPU such as CPU0.

    Q2: Trustzone IP will separate the non-secure world and secure world. MMU translation table descriptor has a special NS bit to describe this VA belongs to S or NS memory region. TEE doesn't clean and invalidate caches before returning to REE to improve cache efficiency.

Children
No Data