2. Execute states

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组织如下图:


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


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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容