psci接口规范介绍

描述

  由于psci是由linux内核调用bl31中的安全服务,实现cpu电源管理功能的。因此其软件架构包含三个部分:

  (1)内核与bl31之间的调用接口规范

  (2)内核中的架构

  (3)bl31中的架构

  psci接口规范

  psci规定了linux内核调用bl31中电源管理相关服务的接口规范,它包含实现以下功能所需的接口:

  (1)cpu idle管理

  (2)向系统动态添加或从系统动态移除cpu,通常称为hotplug

  (3)secondary cpu启动

  (4)系统的shutdown和reset

  psci接口规定了命令对应的function_id、接口的输入参数以及返回值。其中输入参数可通过x0 – x7寄存器传递,而返回值通过x0 – x4寄存器传递。

  如secondary cpu启动或cpu hotplug时可调用cpu_on接口,为一个cpu执行上电操作。

  该接口的格式如下:

  (1)function_id:0xc400 0003

  (2)输入参数:使用mpidr值表示的target cpu id

  cpu启动入口的物理地址

  context id,该值用于表示本次调用上下文相关的信息

  (3)返回值:可以为success、invalid_parameter、invalid_address、already_on、on_pending或internal_failure

  有了以下这些接口的详细定义,内核和bl31就只需按照该接口的规定,独立开发psci相关功能。从而避免了它们之间的耦合,简化了开发复杂度。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分