TF-A 一开始是为 ARMv8 准备的,ARMv8 最突出的特点就是支持 64 位指令,但是为了兼容原来的 ARMv7,ARMv8提供了两种指令集:AAarch64 和 AArch32,根据字面意思就是 64 位和 32 位,其中 AArch32 和 ARMv7基本一样(会多一些其他操作指令)。
安全不能仅仅依靠软件来实现,也是需要硬件支持的,比如 ARM处理器就有不同的运行等级,运行在低等级(非安全模式)的应用就不能访问高等级(安全模式)的资源,以此来保证敏感资源的安全性。
ARMv7-A 工作模式
以前的 ARMv7 处理器有 7 中运行模型:User、FIQ、IRQ、Supervisor(SVC)、Abort、Undef 和 System。新的ARMv7-A 架构加入了 TrustZone安全扩展,所以就新加了一种运行模式:Monitor,新的处理器架构还支持虚拟化扩展,因此又加入了另一个运行模式:Hyp,所以 Cortex-A7 处理器有 9种处理模式,如表所示:
不同的处理器模式下,CPU 对于硬件的访问权限不同,叫做 PrivilegeLevel(特权等级),一共有两个特权级别:Privilege(特权级)和 non-privilege(非特权级)。其中只有User 模式处于non-privilege,也就是非特权级,剩下的 8 个模式都是 privilege(特权级)。
系统启动以后应用软件都是运行在 User模式,也就是非特权级,这个时候处理器对于敏感资源的访问是受限的,如果要访问这些敏感资源就需要切换到对应的工作模式下。
ARMv7-A 对 Privilege Level 进行了命名:PL0 和 PL1,后来也出现了 PL2,用于虚拟扩展。ARMv7-A 新增的Monitor 模式就是针对安全扩展的,为了支持 TEE 而引入的。
-
处理器
+关注
关注
68文章
18610浏览量
224493 -
嵌入式
+关注
关注
5017文章
18497浏览量
293202 -
Linux
+关注
关注
87文章
11030浏览量
207256 -
模型
+关注
关注
1文章
2826浏览量
48057
发布评论请先 登录
相关推荐
ARMv7-A架构的实现中SIMD和VFP的扩展实现是可选的吗?如何了解某控制器是否支持这些实现?
ARMv8-A AArch32主要特性
浅析ARMv7-A体系架构下的MMU的基本原理
如何在Armv7-A系列芯片上根据错误调用栈来debug呢
Armv8-A构架中Armv8.6-A引进的最新功能介绍
介绍Armv8.6-A引进的一些新功能的概况
Armv8-A和Armv9-A的内存属性和属性介绍
ARM Cortex-A5浮点单元技术参考手册
ARM体系结构参考手册ARMv7-A和ARMv7-R版本
Cortex-A7 MPCore技术参考手册
ARM Cortex-A系列ARMv8-A程序员指南
在基于ARMv7的平台1.0版上使用CSAT进行低级调试
如何将软件应用程序从ARMv5迁移到ARMv7-A/R
ARMv7和ARMv7的体系结构参考手册免费下载
![<b class='flag-5'>ARMv</b>7和<b class='flag-5'>ARMv</b>7的体系结构参考手册免费下载](https://file.elecfans.com/web1/M00/C9/1F/pIYBAF9xaG6ADuWsAACK7mI_s74894.png)
ARMv8工作模式有哪些
![<b class='flag-5'>ARMv</b>8<b class='flag-5'>工作</b><b class='flag-5'>模式</b>有哪些](https://file1.elecfans.com/web2/M00/A2/7F/wKgZomT-0EqAL7JbAAG-d1XnjV4331.jpg)
评论