上一篇我们看完了结合ATF框架的一个冷启动的流程设计实现。
这里我们来看看EL3运行时服务框架。
EL3运行时服务框架
在非安全状态和安全状态下执行且异常级别低于EL3的软件将使用安全监视器调用(SMC)指令请求运行时服务。这些请求将遵循SMC呼叫公约PDD(SMCCC)中所述的公约。SMCCC为每个SMC请求分配函数标识符,并描述如何传递和返回参数。
EL3运行时服务框架允许不同提供商开发服务,这些服务可以很容易地集成到最终产品固件中。以下各节描述了便于EL3运行时软件(BL31)中运行时服务的注册、初始化和使用的框架。(这里的内融就是我之前在ATF服务注册那个文章里面写的东西。)
运行时服务的设计在很大程度上取决于SMCCC中描述的概念和定义,特别是SMC函数ID、拥有实体编号(OEN)、快速和易得调用以及SMC32和SMC64调用约定。 有关这些术语的更详细解释,请参阅该文件。
预期首先实现以下运行时服务。它们并没有在当前实现中全部实例化。
-
1.标准服务呼叫
此服务用于管理整个系统。电源状态协调接口(PSCI)是Arm定义的第一组标准服务调用(请参阅稍后的PSCI部分)。 -
2.Secure-EL1 Payload Dispatcher服务
如果系统运行可信操作系统或其他Secure-EL1有效负载(SP),则它还需要EL3处的安全监视器在正常世界(EL1/EL2)和可信世界&