TF-A 一開(kāi)始是為 ARMv8 準(zhǔn)備的,ARMv8 最突出的特點(diǎn)就是支持 64 位指令,但是為了兼容原來(lái)的 ARMv7,ARMv8提供了兩種指令集:AAarch64 和 AArch32,根據(jù)字面意思就是 64 位和 32 位,其中 AArch32 和 ARMv7基本一樣(會(huì)多一些其他操作指令)。
安全不能僅僅依靠軟件來(lái)實(shí)現(xiàn),也是需要硬件支持的,比如 ARM處理器就有不同的運(yùn)行等級(jí),運(yùn)行在低等級(jí)(非安全模式)的應(yīng)用就不能訪問(wèn)高等級(jí)(安全模式)的資源,以此來(lái)保證敏感資源的安全性。
ARMv7-A 工作模式
以前的 ARMv7 處理器有 7 中運(yùn)行模型:User、FIQ、IRQ、Supervisor(SVC)、Abort、Undef 和 System。新的ARMv7-A 架構(gòu)加入了 TrustZone安全擴(kuò)展,所以就新加了一種運(yùn)行模式:Monitor,新的處理器架構(gòu)還支持虛擬化擴(kuò)展,因此又加入了另一個(gè)運(yùn)行模式:Hyp,所以 Cortex-A7 處理器有 9種處理模式,如表所示:
不同的處理器模式下,CPU 對(duì)于硬件的訪問(wèn)權(quán)限不同,叫做 PrivilegeLevel(特權(quán)等級(jí)),一共有兩個(gè)特權(quán)級(jí)別:Privilege(特權(quán)級(jí))和 non-privilege(非特權(quán)級(jí))。其中只有User 模式處于non-privilege,也就是非特權(quán)級(jí),剩下的 8 個(gè)模式都是 privilege(特權(quán)級(jí))。
系統(tǒng)啟動(dòng)以后應(yīng)用軟件都是運(yùn)行在 User模式,也就是非特權(quán)級(jí),這個(gè)時(shí)候處理器對(duì)于敏感資源的訪問(wèn)是受限的,如果要訪問(wèn)這些敏感資源就需要切換到對(duì)應(yīng)的工作模式下。
ARMv7-A 對(duì) Privilege Level 進(jìn)行了命名:PL0 和 PL1,后來(lái)也出現(xiàn)了 PL2,用于虛擬擴(kuò)展。ARMv7-A 新增的Monitor 模式就是針對(duì)安全擴(kuò)展的,為了支持 TEE 而引入的。
-
處理器
+關(guān)注
關(guān)注
68文章
19837瀏覽量
234008 -
嵌入式
+關(guān)注
關(guān)注
5144文章
19584瀏覽量
315953 -
Linux
+關(guān)注
關(guān)注
87文章
11485瀏覽量
213129 -
模型
+關(guān)注
關(guān)注
1文章
3501瀏覽量
50161
發(fā)布評(píng)論請(qǐng)先 登錄
armv7 generic timer使用筆記

ARMv7-A架構(gòu)的實(shí)現(xiàn)中SIMD和VFP的擴(kuò)展實(shí)現(xiàn)是可選的嗎?如何了解某控制器是否支持這些實(shí)現(xiàn)?
ARMv8-A AArch32主要特性
淺析ARMv7-A體系架構(gòu)下的MMU的基本原理
如何在Armv7-A系列芯片上根據(jù)錯(cuò)誤調(diào)用棧來(lái)debug呢
Armv8-A構(gòu)架中Armv8.6-A引進(jìn)的最新功能介紹
介紹Armv8.6-A引進(jìn)的一些新功能的概況
Armv8-A和Armv9-A的內(nèi)存屬性和屬性介紹
ARM Cortex-A5浮點(diǎn)單元技術(shù)參考手冊(cè)
ARM體系結(jié)構(gòu)參考手冊(cè)ARMv7-A和ARMv7-R版本
ARM Cortex-A系列ARMv8-A程序員指南
如何將軟件應(yīng)用程序從ARMv5遷移到ARMv7-A/R
ARMv7和ARMv7的體系結(jié)構(gòu)參考手冊(cè)免費(fèi)下載

ARMv8工作模式有哪些

ARMv7-A處理器模式與特權(quán)等級(jí)

評(píng)論