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 而引入的。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
相關推薦
armv7-A架構中每個CPU核心都包含自己的私有定時器,所有cpu的定時器共享一個System counter, System counter負責產生計數,傳遞到每個核心的私有定時器
發表于 09-27 15:10
?2651次閱讀
,如果更換其他ARMv7-A實現的內核(如Cortex A8),如何確定該實現是否支持?第一次提問,如果表述不清楚請見諒!謝謝!
發表于 07-01 16:33
Cortex-A32產品介紹ARMv8-A AArch32主要特性ARMv7-M與AArch32的不同之處軟件從ARMv7-M移植到
發表于 02-19 06:20
。MMU 主要功能之一是虛擬地址到物理地址的轉換,這個需要軟件和硬件配合完成,軟件需要針對不同的硬件進行策略。這里主要分析 ARMv7-A 體系架構下的 MMU 的基本原理。VMSA 是針對
發表于 05-24 16:54
本周解決了兩個在 Armv7-A 系列芯片上出現的錯誤,包括一個由于軟浮點配置導致的未定義指令錯誤以及一個由于數據未對齊導致的 data abort 錯誤,通過解決這兩個問題,學會了如何在 A 系列
發表于 06-13 17:42
:細化的trap從Armv7-A開始引入虛擬化以來,arm持續改進虛擬化的支持。一個虛擬化關鍵的支持是trap虛擬機執行的一些操作。目的是為了虛擬化這些操作或是讓hypervisor充當Guest
發表于 07-29 15:29
運算的指令。更多有關arm BF16支持的信息可以在這個神經網絡的帖子找到。虛擬化和系統管理相關的增強虛擬化:細化的trap從Armv7-A開始引入虛擬化以來,arm持續改進虛擬化的支持。一個虛擬化關鍵
發表于 08-08 14:16
1. 本指南介紹Armv8-A和Armv9-A的內存屬性和屬性。它首先解釋內存的屬性來自何處,如何分配到內存區域,然后介紹現有的不同屬性,并解釋內存順序的基本特性。這一信息對開發低級別
發表于 08-02 09:03
Cortex-A5 FPU是ARMv7浮點架構的VFPv4-D16實現。它提供了低成本的高性能浮點計算。
FPU支持ARM?體系結構參考手冊、ARMv7-A和ARMv7-R版本中描述的
發表于 08-02 08:05
提前(AOT)編譯的特定支持。
·決定處理器如何運行的模式和狀態,包括當前的執行特權和安全性。
·例外模式。
·內存模型,定義內存排序和內存管理:
-ARMv7-A架構配置文件定義虛擬內存系統架構
發表于 08-12 07:46
。
有關ARMv7-A架構的一般介紹,請參閱ARM?Cortex?-A系列程序員指南。
本指南還可以幫助您熟悉本卷中討論的一些概念。
然而,ARMv8-A架構配置文件向后兼容早期版本,
發表于 08-22 07:22
5。
本應用筆記還假設您具有ARMv5的軟件開發經驗。
假設主目標平臺是圍繞ARMv7-A處理器構建的。
由于ARMv7-A和ARMv7-R有許多重疊的區域,本文檔的一部分也適用于
發表于 08-29 06:51
ARM? Architecture Reference Manual ARMv7-A and ARMv7-R edition
發表于 09-28 08:00
?27次下載
ARMv8 工作模式 ARMv8 沒有 Privilege level 的概念,取而代之的是 Exception level(異常級別),簡稱為EL,用于描述特權級別,一共有 4 個級
發表于 09-11 16:34
?1492次閱讀
對于現代操作系統,通常情況下用戶的應用程序運行在用戶態,操作系統內核運行在內核態。用戶態的應用對于系統硬件資源的訪問是受限的,內核態則能夠訪問所有的系統硬件資源。操作系統的用戶態和內核態是根據處理器的特權等級和運行模式進行硬件隔離的,這也極大的提高了操作系統的安全性。
發表于 10-21 16:19
?1056次閱讀
評論