Armv8-M的TrustZone技术之测试目标指令

为了允许软件确定内存位置的安全属性,使用了TT指令(Test Target)。

Test Target(TT)查询内存位置的安全状态和访问权限。

Test Target Unprivileged(TTT)查询内存位置的安全状态和访问权限,以进行对该位置的非特权访问。

Test Target Alternate Domain(TTA)和Test Target Alternate Domain Unprivileged(TTAT)查询内存位置的安全状态和访问权限,以进行对该位置的非安全访问。这些指令仅在安全状态下执行时有效,如果从非安全状态使用,则为UNDEFINED。

在安全状态下执行时,此指令的结果被扩展以返回特定地址处的Security Attribution Unit(SAU)和Implementation Defined Attribution Unit(IDAU)配置。

对于由SAU和IDAU定义的每个内存区域,都有一个由SAU或IDAU生成的相关区域号。此区域号由软件用于确定内存的连续范围是否具有共同的安全属性。

TT指令返回安全属性和区域号,以及地址值的MPU区域号。通过在内存范围的起始和结束地址上使用TT指令,并确定两者都位于相同的区域号中,软件可以快速确定内存范围(例如,数据数组或数据结构)完全位于非安全空间中,如下图所示:

Armv8-M的TrustZone技术之测试目标指令_第1张图片

注意&#

你可能感兴趣的:(博客目录导读,ARM安全,ARM安全架构,ARMv8-M,Trustzone,TT指令)