Armv8/Armv9的Pstate寄存器介绍

PSTATE概述

在Armv7及其之前,有一个重要的寄存器叫做程序状态寄存器CPSR,但是到了Armv8/Armv9的aarch64架构时,删除了CPSR寄存器,改为了PSTATE(PE状态寄存器)。

PSTATE表示一组小寄存器的集合,在软件中不能直接访问PSTATE,需访问PSTATE中的小寄存器。 具体方法:使用寄存器的方式方法。MSR/MRS指令。

以下给大家列出来PSTATE的概览和每一个寄存器在PSTAE大寄存器中的memory Layout位置

ALLINT

仅当实现 FEAT_NMI 时,此寄存器才存在。否则,对 ALLINT 的直接访问是UNDEFINED

CurrentEL

表示当前的异常等级。

DAIF

中断掩码比特位。分别是Debug、Serror、IRQ、FIQ的MASK位。

DIT

只有当FEAT_DIT 实现时,该比特位才有意义,否则访问该寄存器就是就是UNDEFINED

NZCV

条件标志比特位。

MRS <Xt>, NZCV
MSR NZCV, <Xt>

PAN

特权等级不允许访问寄存器。

EL0 Translation regime输出的地址,不让特权等级程序访问。

PM

当FEAT_EBEP 实现时,才有效。

SPSel

SP栈指针选择比特位。 选择SP位 SP_EL0 或SP_ELx

SVCR

SVE相关的功能,后续在介绍。

SSBS, Speculative Store Bypass Safe

TCO, Tag Check Override

UAO, User Access Override

相关推荐
虹科汽车电子10 小时前
高效传感器与ECU研发测试方案:虹科PSI5模拟器加速智能安全系统落地
arm开发·安全·seskion
浩浩测试一下1 天前
汇编 标志位寄存器 (逆向分析 )
c语言·汇编·逆向·windows编程·标志寄存器
浩浩测试一下1 天前
汇编 数组与串指令(逆向分析)
汇编·逆向·二进制·免杀·串指令·汇编数组
szxinmai主板定制专家1 天前
RK3568 + CODESYS+实时系统运动控制器PLC,支持 AI 视觉目标检测,预测性维护,混合多系统部署,多路模拟量采集
arm开发·人工智能·嵌入式硬件·fpga开发
浩浩测试一下1 天前
汇编 内联汇编与混合编程 (逆向分析)
汇编·混合编程·windows编程·内联汇编·二进制逆向·c语言混合汇编
XMAIPC_Robot1 天前
深度无人机自动驾驶仪,中小型无人机硬件在环仿真飞行
运维·arm开发·人工智能·fpga开发·无人机·边缘计算
浩浩测试一下1 天前
汇编 结构体与宏
汇编··免杀·结构体·windows编程·逆向二进制
番茄灭世神1 天前
Vscode开发/调试ARM单片机最新教程
c语言·arm开发·vscode·stm32·嵌入式·gd32
浩浩测试一下2 天前
汇编中的JCC指令 (逆向分析)
汇编·逆向·标志位·jcc指令·跳转指令·标志位寄存器
浩浩测试一下2 天前
汇编中的段与段寄存器(大小)段序 (逆向分析)
汇编·逆向·二进制·字节序·windows编程·内存地址排序