baron · 3月24日 · 四川

ARMV8/ARMV9或gic中某些寄存器写不了的解决方法

快速连接

👉👉👉【精选】ARMv8/ARMv9架构入门到精通-目录 👈👈👈


 title=
以下以GIC的icc_bpr0_el1寄存器为例,我们发现在S-EL1 Security State中无法去写该寄存器....
解决方法:
查阅该寄存器的伪代码发现,在期望的路径中,SCR_EL3.FIQ不能等于1,所以我们强制修改SCR_EL3.FIQ = 0后再去写icc_bpr0_el1寄存器,发现就可以修改了。
在这里插入图片描述

以下以armv8/armv9的rgsr_el1寄存器为例,我们发现在S-EL1 Security State中无法去写该寄存器....
解决方法:
查阅该寄存器的伪代码发现,在期望的路径中,SCR_EL3.ATA 不能等于0,所以我们强制修改SCR_EL3.ATA = 1后再去写rgsr_el1寄存器,发现就可以修改了。
在这里插入图片描述


关注"Arm精选"公众号,备注进ARM交流讨论区。
图片1.png

推荐阅读
关注数
9466
内容数
212
以易懂、渐进、有序的方式,深入探讨ARMv8/ARMv9架构的核心概念。我们将从基础知识开始,逐步深入,覆盖最新的架构,不再纠缠于过时技术。本系列内容包含但不限于ARM基础、SOC芯片基础、Trustzone、gic、异常和中断、AMBA、Cache、MMU等内容,并将持续更新。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息