如果处理器处于NS.EL1,而软件想要转移到S.EL1,应该如何实现呢? 要改变安全状态,无论是向上还是向下,执行都必须经过EL3,如下图所示:
前面的图表显示了在不同安全状态之间移动涉及的步骤的示例序列。逐步进行解释:
改变安全状态不仅仅涉及在异常级别之间移动和更改SCR_EL3.NS位。我们还必须考虑处理器状态。
矢量寄存器、通用寄存器和大多数系统寄存器只有一个副本。在安全状态之间移动时,保存和恢复寄存器状态是软件的责任,而不是硬件。按照惯例,执行此操作的软件部分称为受信任监视程序。这使我们先前的示例看起来更像是下图中所示的内容:
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。