请教:REE与TEE相互切换时,MONITOR保存REE/TEE上下文位置的信息是存放在TEE管控的TEE内存中吗?其存放位置区域是否是固定的?还是由MONITOR软件自己设计定义的?谢谢。

同上

  • Hi MTS

    对于ARMv8 AArch64架构来说, secure monitor 代码运行在EL3, EL3是属于secure world。Secure monitor 的代码一般是运行在secure secure sram, 以runtime service 的方式为secure world/normal world 切换进行提供服务。

    Secure monitor 保存的REE/TEE 的上下文位于EL3(属于TEE)的 secure internal sram 当中,存放位置也是事先根据context 定义好的内存中。

    ARM Trusted firmware 参考实现中的BL31实现了 secure monitor 的功能,可以帮助你参考理解:

    github.com/.../bl31

    github.com/.../context.h

    Best Regards

    Jett