SCTRL_ELx 介绍背景
由于在做DFD 测试过程中需要测试 EL1 状态下的 self-hosted trace 功能,但是这个测试是在UEFI中做的,在开发验证阶段UEFI默认是运行在EL3 下的,所以如果要完成测试就需要从EL3跳转到EL1, 由于在查找EL3 跳转到EL1的汇编代码时,发现ARMv8和ARMv9下两者在 SCTRL_EL3
的配置是有差异的,所以就引入了下文对 SCTRL_ELx
的介绍。
首先看下 ARMv8/ARMv9 从 EL3 跳转到 EL1 的汇编代码:
ARMv8:
mrs x0, scr_el3
orr x0, x0, #(0x1 << 15) // 设置 SCR_EL3 的 HCE 位为 1
msr scr_el3, x0
mov x0, #