这里来讲讲电源管理,这部分对于CPU核来说是一个很关键的东西,因为将其实现在EL3。
学习这一部分我建议是和CPU的多核启动联系起来想想,还有S3和S4阶段想想。
1、电源状态协调界面
TODO:提供PSCI实现的设计演练
PSCI v1.1规范将API分为可选和强制性。PSCI v1.1、PSCI v1.0和PSCI v0.2规范草案电力状态协调接口PDD中的所有强制性API均已实施。下表列出了PSCI v1.1 API及其在通用代码中的支持。
API实现可能依赖于平台代码,例如CPU_SSUSPEND要求平台导出实现的一部分。因此,强制API的支持级别也取决于平台端口导出的支持。Juno和FVP(所有变体)平台导出所有所需的支持。
注意:这些PSCI API要求使用要支持的通用PSCI代码注册平台电源管理挂钩。
注意:这些PSCI API需要使用受支持的通用PSCI代码注册适当的安全有效负载分派器挂钩。
TF-A中的PSCI实现是一个库,可与Armv8-A系统的AArch64或AArch32 EL3运行时软件集成。将PSCI库与AArch32 EL3运行时软件集成的指南可在PSCI库集成指南Armv8-A AArch32系统中找到。(两个关键的点,第一理解PSCI是一个库,第二点是现在大多数都是64位了。)
下一篇看看我比较感兴趣的Secure-EL1有效载荷和调度员