ARMv8 工作模式
ARMv8 没有 Privilege level 的概念,取而代之的是 Exception level(异常级别),简称为EL,用于描述特权级别,一共有 4 个级别:EL0、EL1、EL2 和 EL3,数字越大,级别越高,权限越大!这四个 EL 级别对应的应用场合如下:
EL0:一般的应用程序 EL1:操作系统,比如 Linux EL2:虚拟化(Hypervisor),虚拟机管理器 EL3:最底层的安全固件,如 ARM Trusted Firmware(ATF/TF-A)
ARMv8 提供了两种安全状态:Secure 和 Non-secure,也就是安全和非安全,Non-secure 也就是正常世界(NormalWorld)。我们可以在 Non-secure 运行通用操作系统,比如 Linux,在 Secure 运行可信操作系统,比如OP-TEE,这两个操作系统可以同时运行,这个需要处理器支持 ARM 的 TrustZone 功能。在 Normal world 和 Secure world下,ARMv8 个 EL 等级对应的内容如图所示:

在 ARMv8 的 AArch32 模式下,处理器模式如图所示:

在 AArch32 模式下,EL0~LE3 对应 ARMv7 的不同工作模式:
EL0:对应 ARMv7 的 User 工作模式
EL1:对应 ARMv7 的 SVC、ABT、IRQ、IRQ、UND 和 SYS 这 6 中工作模式
EL2:对应 ARMv7 的 Hyp 工作模式
EL3:对应 ARMv7 的 Mon 工作模式
可以看出,只有 EL3 是用于安全监视器的,所以 TF-A 主要工作在 EL3 下,在看 TF-A源码的时候会看到大量的“EL3”字样的文件或代码。
-
嵌入式
+关注
关注
5186文章
20149浏览量
328871 -
Linux
+关注
关注
88文章
11628浏览量
217981 -
操作系统
+关注
关注
37文章
7328浏览量
128635 -
程序
+关注
关注
117文章
3836浏览量
84766
发布评论请先 登录
ARMv8架构概述
ARMv8 Vector table问题该如何更好地去理解呢
NEON在armv8(arch64)下如何去使用呢
Armv7和Armv8系统中跟踪的高级视图详解
如何使用CSAT调试Armv8平台
ARM推新品:ARMv8首次支援64位元指令集
TRACE32支持ARMv8架构
从软件开发的角度概述ARMv8处理器架构中的虚拟化操作
ARMv8处理器体系结构中的虚拟化功能
Armv8架构及虚拟化介绍
ARMv7-A工作模式介绍
armv8 u-boot的启动介绍

ARMv8工作模式有哪些
评论