ARMV8/ARMV9的执行状态的切换
2024-04-05 06:50:06
背景:为什么会有执行状态的切换
在一个大系统中,我们所说这它是64位的,还是32位的,往往说的是kernel内核。事实上,在这么的一个大系统中,有着多级镜像,并非全都是64位的,也并非全都是32位的。如下一张图,便展示了MTK SOC系统中常用的一个执行状态
执行状态的切换规则
ARMV8/ARMV9的执行状态有两种:aarch64和aarch32
它们的切换规则是:
- aarch32到aarch64的切换,必需是触发异常,产生的low exception level 到 high exception level的切换。
- aarch64到aarch32的切换,必需是异常返回,产生的high exception level 到 low exception level的切换。
- 在 exception level不变的情况下,产生的异常和异常返回,都不能改变excution state.
再简而言之,总结起来其实就是:
- high exception level如果是aarch64,那么low exception level 可以是aarch64或aarch32
- high exception level如果是aarch32,那么low exception level 只能是aarch32
寄存器介绍
SCR_EL3
如果实现了EL3,那么PE复位后将直接是aarch64.
SCR_EL3.RW
将决定着lower exception level的执行状态
HCR_EL2
如果实现了EL2,且EL2的执行状态是aarch64.
HCR_EL2.RW
将决定着EL1的执行状态
PSTATE和SPSR_ELx
如果EL1是aarch64,那么SPSR_EL1.M[4] 将决定着EL0的执行状态
代码导读
ARMV8/ARMV9的执行状态的切换相关推荐
- armv8/armv9的简介-学习这一篇就够了
引流关键词: optee.ATF.TF-A.Trustzone.optee3.14.MMU.VMSA.cache.TLB.arm.armv8.armv9.TEE.安全.内存管理.页表- 快速链接: .
- [armv9]-ARMV8/ARMV9安全架构介绍(ARMv9 CCA)
文章目录 1.术语 2.Architecture overview 2.1.ARMV7的软件模型 2.2.ARMV8-arch32的软件模型 2.3.ARMV8-arch32的软件模型 2.4.ARM ...
- ARMV8/ARMV9指令集概述(翻译)
快速链接: .
- armv8/armv9页表属性(page descriptor)的详细介绍
快速链接: .
- 深度学习armv8/armv9 cache的原理
快速链接: .
- [ARM异常]-armv8/armv9同步异常的介绍
快速链接: .
- [ARM异常]-armv8/armv9异步异常类型、路由、屏蔽
快速链接: .
- ARMv8/ARMv9指令集概述
目录 下载地址 1. 首先 : 点赞.关注.评论 支持一下行不 ? 2.其次,属于装13 系列, 其实真没啥价值,拉几,不用看, 更不要有期待. 预览开始: 下载地址 ( 注意 : 下载之前,您是否完 ...
- armv8/armv9/aarch64/arm64/A64/架构/IP你不知道的那些事
快速链接: .
最新文章
- 解压和生成 system.imgdata.img ( ext4格式)
- 重磅 | 周志华最新论文:首个基于决策树集成的自动编码器,表现优于DNN
- java digester_Digester
- iOS属性之assign,copy,retain的区别以及weak和strong的区别
- 逆向最大匹配分词算法C#
- 【转】ABAP的坑5
- solidworks入门实例画图_分享用SolidWorks绘制的鸡蛋托盘,学会借助于曲面生成波浪线草图...
- IE11修复-Win7安装IE11无法打开怎么办
- eNSP下的vlan划分实验
- Discuz 模板目录
- 前馈神经网络——神经元
- LeetCode--初级算法--数组篇--第十题--有效的数独
- CPU核心、进程、线程
- 主从模式的数据库搭建(主从复制)
- mindspore 1.3.0版本GPU环境下源码编译的正式工作——完整的编译过程
- 科学家称五年内将3D打印人类心脏
- 蓝海创意云丨这六款软件,帮助制片高效规划拍摄计划
- python手机屏幕控制_用Python控制墨水屏
- 785nm 600mW 稳波长窄线宽光纤输出半导体激光器模块 YM600NU-785-105FC-PC产品资料
- 非静压模型SWASH学习(4)——溃坝流模拟算例(Dam break over wet bed)
热门文章
- matlab程序崩溃怎么解决,跪求matlab达人帮我看看程序,我实在是要崩溃了......
- word受权限保护无法打开_双击文档无法打开到底是啥毛病?简单一招解决
- java des加密解密_JAVA和c# 之间数据通讯时通过DES进行加密解密
- C# 子类实例化基类 基类使用不了子类的方法_C#学习笔记09--构造方法/析构方法/继承/多态/封装...
- 成功解决AttributeError: ‘NoneType‘ object has no attribute ‘shape‘
- 成功解决PermissionError: [Errno 13] Permission denied: ‘F:\\File\\data\\123.csv‘
- ML之MIC:利用某数据集计算机最大信息系数MIC并可视化MIC矩阵热图及其代码实现
- CV之detectron2:detectron2安装过程记录
- 成功解决tensorflow\contrib\learn\python\learn\datasets\base._internal_retry.locals.wrap.locals.wrapp
- pynlpir.LicenseError: Your license appears to have expired. Try running pynlpir update.