欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > 六、armv8 安全状态与非安全状态

六、armv8 安全状态与非安全状态

2025/4/18 20:45:50 来源:https://blog.csdn.net/k122769836/article/details/143403148  浏览:    关键词:六、armv8 安全状态与非安全状态

一、armV8 不仅有4级特权级别,还有2种模式即安全状态和非安全状态:

1、安全状态,Secure state:在安全状态下,一个处理器单元(Processing Element)可以访问secure和non-secure下的物理地址空间,以及secure的bank 寄存器。
2、非安全状态,Non-secure:非安全状态也被称为Normal world,在这种状态下,PE只能访问Non-secure的物理地址空间,并且访问系统寄存器也是non-secure的访问。

这里有个疑问安全状态下是不是不能访问系统控寄存器?还需要去扒arm官方文档。

注意:安全和非安全的本质是物理空间的隔离,即分为安全的物理地址和非安全的物理地址

安全物理地址空间和非安全物理地址空间是相互独立的,并且是并行存在的。一个系统可以设计成有两个完全独立的存储系统。然而,大多数真实系统都将安全和非安全作为访问控制的属性。普通(非安全)世界只能访问非安全物理地址空间。安全的世界对这两个物理地址空间都可以访问。同样,这是通过转换表来控制的。

二、安全状态与非安全状态间切换

EL3是sec-world和non-sec world之间的gateway, 也就是说sec 想变成 non-sec,一定要经过EL3这条路。这同样可以说明跑在EL3下的管理程序为什么叫做 Secure monitor。如下图所示,为AArch64状态下的异常等级示意图:

 根据这张图片,EL1 non-sec如何变成 EL1 sec ? 我们可以得出答案,先进入EL3 non-sec,设置SCR_EL3.NS 为1,这样就进入了EL3 sec,最后通过eret返回到el1 sec:

EL1 NSEC => EL3 NSEC
EL3 NSEC => EL3 SEC
EL3 SEC => EL1 SEC

除非从EL3改变了安全状态,否则安全状态不会随着异常级别的更改而更改。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词