ARMv8-A相關歷史文章:
ARMv8-A體系架構定義了兩種執(zhí)行狀態(tài):AArch64和AArch32。AArch64是ARMv8-A獨有的,采用64-bit通用寄存器,而AArch32后向兼容ARMv7-A,使用32-bit通用寄存器。GNU和Linux文檔有時把AArch64也稱作ARM64.
AArch32執(zhí)行狀態(tài)與ARMv7-A的實現兼容,其中包括虛擬化擴展、安全擴展、LPAE(Large Physical Address Extensions)。ARMv8-A體系結構允許執(zhí)行不同的軟件層,比如應用軟件,操作系統(tǒng)內核,或使用AArch32/AArch64的Hypervisor層。ARMv8-A體系結構定義了AArch32和AArch64中的執(zhí)行如何交互。
-
AArch64下的Exception Levels組織如下圖:
-
AArch32下的Exception Levels組織如下圖:
在AArch32狀態(tài)下,Trusted OS在Secure EL3中執(zhí)行,而在AArch64狀態(tài)下,主要在Secure EL1中執(zhí)行。

