2. Execute states

ARMv8-A相关历史文章:

  • 1. Fundamentals of ARMv8-A

ARMv8-A体系架构定义了两种执行状态:AArch64和AArch32。AArch64是ARMv8-A独有的,采用64-bit通用寄存器,而AArch32后向兼容ARMv7-A,使用32-bit通用寄存器。GNU和Linux文档有时把AArch64也称作ARM64.

AArch32执行状态与ARMv7-A的实现兼容,其中包括虚拟化扩展、安全扩展、LPAE(Large Physical Address Extensions)。ARMv8-A体系结构允许执行不同的软件层,比如应用软件,操作系统内核,或使用AArch32/AArch64的Hypervisor层。ARMv8-A体系结构定义了AArch32和AArch64中的执行如何交互。

  • AArch64下的Exception Levels组织如下图:


    2. Execute states_第1张图片
  • AArch32下的Exception Levels组织如下图:


    2. Execute states_第2张图片

在AArch32状态下,Trusted OS在Secure EL3中执行,而在AArch64状态下,主要在Secure EL1中执行。

你可能感兴趣的:(2. Execute states)