[register]-05-ARMv8中常用系统寄存器详解

270 篇文章 407 订阅

快速链接:
.
👉👉👉 个人博客笔记导读目录(全部) 👈👈👈

在这里插入图片描述

PSTATE:程序状态寄存器


SP_ELx(x>0):在EL1/EL2/EL3 level中,如果spsel=0,则使用SP_ELx(x>0)
SP_EL0 :在所有level中,如果spsel=1, 则使用SP_EL0


SPSR :save program status register 备份的程序状态寄存器


ELR_ELx(x>0):异常链接寄存器,记录着异常时程序的返回地址


ESR_ELx(x>0) :同步异常, 异常特征寄存器
FAR_ELx(x>0): 同步异常, 异常时的错误地址


VBAR_ELx(x>0): 向量表基地址寄存器


TTBRn_ELx(n=1,2、x>0): 地址翻译基地址寄存器
MAIR_ELx(x>0) :内存属性寄存器


PAR_EL1: 物理地址寄存器, 当使用指令操作MMU进行VA到PA的转换时,物理地址由PAR_EL1输出.


SCR_EL3 :安全配置寄存器
SCTLR_ELx(x>0): 系统控制寄存器
TCR_ELx(x>0): 地址翻译控制寄存器

1、PSTATE

PSTATE的bit位定义:
在这里插入图片描述

(1)、spsel : (Stack Pointer Select)

在这里插入图片描述

2、Stack pointer(sp)寄存器介绍

默认情况下,来了一个异常后,选择当前异常级别的sp,例如来了一个异常到EL1, 那么将自动选择sp_el1做为sp;
但是呢,在高异常等级,通过修改spsel,也可以使用SP_EL0
在这里插入图片描述

3、SCR_EL3 :(Secure Configuration Register)

在这里插入图片描述

  • NS :0-secure state, 1-NonSecure state
  • IRQ: 0-运行在EL3以下时irq不会target到EL3, 1-irq总是target到EL3
  • FIQ: 0-运行在EL3以下时fiq不会target到EL3, 1-fiq总是target到EL3
  • EA, bit [3] :
    – 0- 运行在EL3以下时External aborts和SError不会target到EL3,运行在EL3时Serror不会产生,External aborts target到EL3
    – 1-External aborts and SError target到EL3
  • SMD, bit [7]:0-smc指令在EL3/EL2/EL1中是enable, 1-smc指令是disable的
  • HCE, bit [8]:1-hvc指令在EL3/EL2/EL1中是enable, 0-hvc指令是disable的
4、SCTLR:(System Control Register)

在这里插入图片描述

  • UCI : 置1后,EL0可以在aarch64下访问 DC CVAU, DC CIVAC, DC CVAC,IC IVAU指令
  • EE:0-Little endian, 1-Big endian.
  • EOE:EL0显示的数据访问方式,0-Little endian, 1-Big endian.
  • WXN: 0-XN权限不开启,XN权限开启
  • nTWE: 1-WFE是正常的指令
  • nTWI: 1-WFI是正常的指令
  • UCT:1- EL0可以访问CTR_EL0
  • DZE:1-EL0可以访问cache的DC ZVA指令
  • I:Instruction cache enable
  • UMA :EL0中断Mask(适用于aarch64)
  • SED:1-SETEND指令disabled(适用于aarch32)
  • ITD:1-IT指令disabled
  • CP15BEN: cp15 enable(适用于aarch32)
  • SA0 开启在EL0sp对齐检查
  • SA 开启sp对齐检查
  • C :data cache enable
  • A : 对齐检查alignment check enable
  • M : enable MMU

大小端的解释:
在这里插入图片描述
XN权限:
在这里插入图片描述


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

代码改变世界ctw

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值