任何玩过Arm64架构的朋友都知道,我们的ARM64架构有异常:Exception Levels, ELs,它是其异常处理机制的核心组成部分,允许系统在不同的特权级别下执行代码。ARM64定义了四个异常级别,每个级别具有不同的特权、功能和访问权限。以下是对每个异常级别的详细介绍:
四层异常与他们的切换
1. EL0(用户模式)
- 特权级别:最低。
- 功能:咱们的程序一般都在这里,EL0运行普通用户应用程序,没有访问硬件资源的直接权限,所有对资源的访问都必须通过系统调用转发到EL1。
- 访问限制:不能直接访问系统控制寄存器、内存管理单元等关键硬件组件。
2. EL1(内核模式)
- 特权级别:中等特权。
- 功能:执行操作系统内核(Linux跑在这里)和设备驱动程序。EL1可以管理硬件资源,提供对应用程序的支持。
- 访问权限:可以访问大多数系统资源,包括中断控制器、定时器等。EL1能够处理来自EL0的系统调用和异常。
3. EL2(虚拟化模式)
- 特权级别:高特权。
- 功能:主要用于虚拟化环境,允许多个虚拟机
订阅专栏 解锁全文
8930

被折叠的 条评论
为什么被折叠?



