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

相关推荐
嵌入式小白牙13 小时前
ARM-DMA
arm开发·stm32·单片机
南玖yy20 小时前
Linux 桌面市场份额突破 5%:开源生态的里程碑与未来启示
linux·运维·服务器·汇编·科技·开源·gradle
亿道电子Emdoor1 天前
【ARM】ARM架构基础知识
arm开发·架构·arm
huangyuchi.1 天前
【Linux】进程切换与优先级
linux·运维·笔记·进程切换·进程优先级·寄存器·linux调度算法
GeekMax1 天前
(笔记)U-boot 2012.10 armv7启动汇编解析
汇编
凉、介2 天前
ARM 学习笔记(四)
c语言·arm开发·笔记·学习·嵌入式
凉、介3 天前
ARM 学习笔记(三)
arm开发·笔记·学习·嵌入式
亿道电子Emdoor3 天前
【ARM】当选择AC5时每次点击build都会全编译
arm开发·arm
九鼎创展科技3 天前
九鼎X8390 开发板 & 联发科 MT8390 / MT8370 芯片平台
android·arm开发·嵌入式硬件·硬件工程
南玖yy3 天前
Linux权限管理:从“Permission denied“到系统安全大师
linux·运维·汇编·后端·架构·系统安全·策略模式