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

    文章

    1418

    浏览量

    41567
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11099

    浏览量

    217764
  • 接口
    +关注

    关注

    33

    文章

    9033

    浏览量

    154025
  • Linux
    +关注

    关注

    87

    文章

    11522

    浏览量

    214382
  • SMP
    SMP
    +关注

    关注

    0

    文章

    78

    浏览量

    20330
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Um接口有什么规范

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

    编程接口规范说明

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

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

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

    SD卡接口规范

    SD卡接口规范资料,很好的资料,快来学习吧。
    发表于 04-25 17:40 ?0次下载

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

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

    CompactPCI电源接口规范

    CompactPCI电源接口规范(现代电源技术基础课后答案第三章)-CPCI板卡开发合集→【CompactPCI电源接口规范-CN】
    发表于 09-29 17:12 ?48次下载
    CompactPCI电源<b class='flag-5'>接口</b><b class='flag-5'>规范</b>

    基于ARM架构的PSCI接口规范

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

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

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

    psci电源管理拓扑结构介绍

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

    psci电源状态基础知识介绍

    功耗,还消除了静态功耗,相应地其唤醒延迟就比较高了。 psci一共为power domain定义了四种power state: (
    的头像 发表于 12-05 16:41 ?1042次阅读
    <b class='flag-5'>psci</b>电源状态基础知识<b class='flag-5'>介绍</b>

    内核中的psci驱动是什么

    内核中的psci架构 内核psci软件架构包含psci驱动和每个cpu的cpu_ops回调函数实现两部分。 其中psci驱动实现了驱动初始化和psc
    的头像 发表于 12-05 16:58 ?1132次阅读
    内核中的<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 ?1087次阅读

    bl31中的psci架构介绍

    std_svc_setup会在bl31启动流程中被调用,以用于初始化该服务相关的配置。而std_svc_smc_handler为其smc异常处理函数,当内核通过psci接口调用相关服务时,最终将由该函数执行实际的处理流程。 上图为psc
    的头像 发表于 12-05 17:33 ?1584次阅读
    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 ?1036次阅读

    PSCI处理函数代码分析

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