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文章
19409瀏覽量
231190 -
嵌入式
+關注
關注
5092文章
19178瀏覽量
307696 -
Linux
+關注
關注
87文章
11345瀏覽量
210401 -
模型
+關注
關注
1文章
3313瀏覽量
49227
發布評論請先 登錄
相關推薦
armv7 generic timer使用筆記
![<b class='flag-5'>armv7</b> generic timer使用筆記](https://file1.elecfans.com/web2/M00/A8/19/wKgZomUT1PKABvxHAAECQKPH-Vg186.jpg)
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版本
ARM Cortex-A系列ARMv8-A程序員指南
如何將軟件應用程序從ARMv5遷移到ARMv7-A/R
ARMv7和ARMv7的體系結構參考手冊免費下載
![<b class='flag-5'>ARMv7</b>和<b class='flag-5'>ARMv7</b>的體系結構參考手冊免費下載](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)
ARMv7-A處理器模式與特權等級
![<b class='flag-5'>ARMv7-A</b>處理器<b class='flag-5'>模式</b>與特權等級](https://file1.elecfans.com/web2/M00/AB/70/wKgZomUzibKAPA-RAAA43PzfmhU605.jpg)
評論