0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

psci接口规范介绍

麦辣鸡腿堡 来源:TrustZone 作者:Hcoco 2023-12-05 16:53 次阅读

由于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相关功能。从而避免了它们之间的耦合,简化了开发复杂度。

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

    关注

    3

    文章

    1309

    浏览量

    39850
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10446

    浏览量

    206572
  • 接口
    +关注

    关注

    33

    文章

    7640

    浏览量

    148509
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206738
  • SMP
    SMP
    +关注

    关注

    0

    文章

    68

    浏览量

    19450
收藏 人收藏

    评论

    相关推荐

    spi接口规范

    spi接口规范
    发表于 12-19 19:37

    Um接口有什么规范

    Um接口(也称空中接口)的无线信令规程由《800MHz CDMA数字蜂窝移动通信网空中接口技术规范》规定。中国电信和中国联通均已颁布了此规范。此规范
    发表于 10-09 09:00

    编程接口规范说明

    编程接口规范
    发表于 06-15 17:10

    ARM电源管理中的PSCI是什么意思呢

    今天来看一个电源功耗相关的东西,PSCI(Power State Coordination Interface),翻译一下就是“电源状态协作接口”。从名字就能直观看出来,PSCI是一套电源管理
    发表于 04-02 09:45

    IC卡读写器接口函数规范

    本内容详细介绍了IC卡读写器接口函数规范,欢迎大家下载学习
    发表于 07-26 16:33 137次下载
    IC卡读写器<b class='flag-5'>接口</b>函数<b class='flag-5'>规范</b>

    M5311物联网模组的AT命令接口规范

    本文档的主要内容详细介绍的是M5311物联网模组的AT命令接口规范
    发表于 05-18 08:00 50次下载
    M5311物联网模组的AT命令<b class='flag-5'>接口</b><b class='flag-5'>规范</b>

    基于ARM架构的PSCI接口规范

    本文主要是在ARM架构的不同异常等级上工作的软件之间,提供一个标准的电源管理接口。这些软件,比如Linux、Hypervisor、安全Firmware和可信OS之间必须能够实现互相操作。而这些软件可能由不同厂商提供,本标准就是为这些软件的集成提供便利。
    的头像 发表于 11-07 10:48 3228次阅读

    PCIe M.2接口规范

    PCIe M.2 接口规范
    发表于 06-19 10:02 20次下载

    psci电源管理接口可以用于什么场景

    psci是arm提供的一套电源管理接口,当前一共包含0.1、0.2和1.0三个版本。它可被用于以下场景:(1)cpu的idle管理 (2)cpu hotplug以及secondary cpu启动
    的头像 发表于 12-05 16:28 194次阅读

    psci电源管理拓扑结构介绍

    psci 基础概念知识 power domain我们前面已经介绍过cpu的拓扑结构,如aarch64架构下每块soc可能会包含多个cluster,而每个cluster又包含多个core,它们共同
    的头像 发表于 12-05 16:35 195次阅读
    <b class='flag-5'>psci</b>电源管理拓扑结构<b class='flag-5'>介绍</b>

    内核中的psci驱动是什么

    内核中的psci架构 内核psci软件架构包含psci驱动和每个cpu的cpu_ops回调函数实现两部分。 其中psci驱动实现了驱动初始化和psc
    的头像 发表于 12-05 16:58 231次阅读
    内核中的<b class='flag-5'>psci</b>驱动是什么

    内核中的psci架构cpu_ops接口

    cpu_ops接口 驱动初始化完成后,cpu的cpu_ops就可以调用这些回调实现psci功能的调用。如下所示,当devicetree中cpu的enable-method设置为psci时,该cpu
    的头像 发表于 12-05 17:25 294次阅读

    bl31中的psci架构介绍

    std_svc_setup会在bl31启动流程中被调用,以用于初始化该服务相关的配置。而std_svc_smc_handler为其smc异常处理函数,当内核通过psci接口调用相关服务时,最终将由该函数执行实际的处理流程。 上图为psc
    的头像 发表于 12-05 17:33 370次阅读
    bl31中的<b class='flag-5'>psci</b>架构<b class='flag-5'>介绍</b>

    SMP多核启动PSCI代码示例

    1、std_svc_setup (主要关注设置psci操作集)--有服务 std_svc_setup //services/std_svc/std_svc_setup.c - >psci
    的头像 发表于 12-05 17:45 273次阅读

    PSCI处理函数代码分析

    处理函数根据funid来决定服务,可以看到PSCI_CPU_ON_AARCH64为0xc4000003,这正是设备树中填写的cpu_on属性的id,会委托psci_cpu_on来执行核上电任务。下面
    的头像 发表于 12-05 18:08 306次阅读