【ARMv8】异常级别的定义EL0、EL1、EL2、EL3

本人就职于国际知名终端厂商,负责modem芯片研发。
在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。


博客内容主要围绕:
       5G/6G协议讲解
       算力网络讲解(云计算,边缘计算,端计算)
       高级C语言讲解
       Rust语言讲解

Exception levels

ARMv8-A系列定义了一系列的异常等级,从EL0到EL3,下面具体说明其含义:

  • ELn中,随着n的增加,软件的执行权限也相应的增加;
  • EL0被称为无特权执行;
  • EL2提供了对虚拟化的支持
  • EL3提供了安全状态切换功能(安全状态与非安装状态之间的切换)

🛑注意,EL0和EL1是必须实现的,EL2和EL3是可选的。而且一个PE中实现的EL可以不连续,例如只实现了EL0、EL1和EL3。


异常级别的切换

在AARCH64状态下,异常级别的切换只能发生在触发了异常,或者异常处理返回过程中,其中:

  • 当发生异常时,异常级别要不增加,要不保持不变;
  • 当从异常处理返回时,异常级别只能减小或者保持不变。

在发生异常即将进入或者从异常处理返回到另一个异常级别(包括异常级别不变的情况)时,待进入/返回的异常级别称之为目标异常级别每个异常级别都有一个明确的目标异常级别,这个目标异常级别要么是默认定义的,要么是通过系统寄存器的相应bit定义的(注意没有异常级别的目标异常级别是EL0)。


不同异常级别资源使用

当PE在某个异常级别执行的时候,PE能够访问下面的资源:

  • 可用于当前异常级别和当前安全状态的资源集;
  • 在当前的安全状态下,所有较低的异常级别上可用的资源。

这意味着,如果实现了EL3,那么当执行在EL3时,PE可以访问所有异常级别上可用的所有资源(包括安全状态和非安全状态下)。


常见的异常级别模型

ELn应用范围
EL0应用
EL1操作系统或者一些特权函数
EL2Hypervisor
EL3Secure Monitor

Security state

Armv8-A架构提供了两种安全状态每种状态都有一个相关的物理内存地址空间,如下所示:

  • Secure state:在这种状态下,PE可以访问安全状态和非安全状态下的物理地址空间;
  • Non-secure state:只能访问非安全物理地址空间。


这里是从善若水的博客,感谢您的阅读📕📕📕


在这里插入图片描述


EL0EL1EL2EL3ARMv8-A架构中定义的一系列异常等级。EL0是无特权执行级别,用于应用程序的执行。EL1是操作系统或特权函数的执行级别EL2是Hypervisor级别,提供对虚拟化的支持。EL3是Secure Monitor级别,提供安全状态切换功能,用于安全状态与非安全状态之间的切换。\[3\]这些异常等级的增加对应着软件执行权限的增加,从EL0EL3,权限逐渐增强。EL3是最高级别异常等级,当执行在EL3时,处理器可以访问所有异常级别上可用的所有资源,包括安全状态和非安全状态下的资源。\[2\]在启动时,EL3直接返回到EL1时,需要配置HCR_EL2.RW的值来决定EL1是aarch32还是aarch64。而SCR_EL3.EEL2则用于控制Secure-EL2是否开启,如果配置为0,则S-EL2相当于被禁用,此时SCR_EL3.RW用于控制S-EL1是aarch32还是aarch64。\[1\]总结来说,EL0是无特权执行级别EL1是操作系统或特权函数执行级别EL2是Hypervisor级别EL3是Secure Monitor级别,用于安全状态切换。 #### 引用[.reference_title] - *1* [思考:EL3直接返回到EL1时需要配置EL2寄存器吗](https://blog.csdn.net/weixin_42135087/article/details/124677491)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [【ARMv8异常级别定义EL0EL1EL2EL3](https://blog.csdn.net/qq_31985307/article/details/123609160)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

从善若水

原创不易,感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值