本文介绍: 如果处理器处于NS.EL1,而软件想要转移到S.EL1,应该如何实现呢?

        如果处理器处于NS.EL1,而软件想要转移到S.EL1,应该如何实现呢? 要改变安全状态,无论是向上还是向下,执行都必须经过EL3,如下所示

        前面图表显示了在不同安全状态之间移动涉及的步骤示例序列。逐步进解释

  1. 进入较高的异常级别需要一个异常。通常,此异常可能是FIQ或SMC(Secure Monitor Call异常我们稍后将更详细查看中断处理和SMCs
  2. EL3在适当的异常向量处被执行运行在EL3中的软件切换SCR_EL3.NS位。
  3. 然后异常返回处理器从EL3带到S.EL1。

        改变安全状态不仅仅涉及在异常级别之间移动更改SCR_EL3.NS位。我们还必须考虑处理器状态

        矢量寄存器、通用寄存器和大多数系统寄存器只有一个副本。在安全状态之间移动时,保存恢复寄存器状态软件责任,而不是硬件。按照惯例,执行操作软件部分称为信任监视程序。这使我们先前的示例看起来更像是下图中所示的内容

        Trusted Firmware是由Arm发起的开源项目,提供了受信任监视程序的参考实现我们将在本指南的后面讨论Trusted Firmware

        很少有寄存器按安全状态进行分段。这意味着有两份寄存器副本核心自动使用属于当前安全状态的副本。这些寄存器仅限于

原文地址:https://blog.csdn.net/yuxiaochen99/article/details/134816308

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_47698.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注