3. ARMv8 基础知识
在 ARMv8 中,执行发生在四个异常级别之一。在 AArch64 中,异常级别决定了特权级别,类似于 ARMv7中定义的特权级别。异常级别决定特权级别,因此在 ELn 执行对应于特权PLn。类似地,具有比另一个更大的n值的异常级别处于更高的异常级别。一个数字比另一个小的异常级别被描述为处于较低的异常级别。
异常级别提供了适用于 ARMv8 架构的所有操作状态的软件执行权限的逻辑分离。它类似于并支持计算机科学中常见的分层保护域的概念。
- EL0 Normal user applications.
- EL1 Operating system kernel typically described as privileged.
- EL2 Hypervisor.
- EL3 Low-level firmware, including the Secure Monitor.
通常,一个软件,例如应用程序、操作系统的内核或管理程序,占用一个异常级别。此规则的一个例外是内核中的虚拟机管理程序,例如 KVM,它在EL2和 EL1 上运行。
ARMv8‑A 提供两种安全状态,安全和非安全。非安全状态也称为正常世界。这使操作系统 (OS) 能够与受信任的操作系统在同一硬件上并行运新g,并提供针对某些软件攻击和硬件攻击的保护。 ARM TrustZone 技术使系统能够