快速链接:
.
个人博客笔记导读目录(全部)
- 付费专栏-付费课程 【购买须知】:
- 【精选】ARMv8/ARMv9架构入门到精通-[目录]
ELR_ELx 异常链接寄存器
该寄存器只有ELR_EL1 ELR_EL2 ELR_EL3, 没用ELR_EL0. 因为异常不会routing(target)到EL0.
例如在user mode时触发了一个target到EL1的irq异常,那么会将PC指针保持到ELR_EL1中,然后跳转到EL1的异常向量表中;
user mode时触发了一个target到EL3的irq异常,,那么会将PC指针保持到ELR_EL3中,然后跳转到EL3的异常向量表中;
ESR_ELx (exception Syndrome register )异常综合寄存器/异常状态寄存器 : 反应异常的原因等信息
该寄存器只有ELR_EL1 ELR_EL2 ELR_EL3, 没用ELR_EL0.
例如:s 16bit指令的异常、32bit指令的异常、simd浮点运算的异常、MSR/MRS的异常…
FAR_ELx (Fault Address Register) 错误的地址寄存器
当取指令或取数据时,PC对齐错误或者watchpoint异常(PC alignment fault and Watchpoint exceptions),会将错误的地址填入到该寄存器中;
MAIR_EL1, (Memory Attribute Indirection Register) 内存属性寄存器
配置内存的属性,如Tagged Normal Memory、normal memory、device memory
如果是normal memory,那么inner和Outer的配置是Write-Through /Write-back/write Allocate/write non-Allocate等
SCTLR_EL1, (System Control Register) 系统控制寄存器
如d-cache/i-cache/mmu的enable和disable