0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

psci接口規(guī)范介紹

麥辣雞腿堡 ? 來源:TrustZone ? 作者:Hcoco ? 2023-12-05 16:53 ? 次閱讀

由于psci是由linux內(nèi)核調(diào)用bl31中的安全服務(wù),實現(xiàn)cpu電源管理功能的。因此其軟件架構(gòu)包含三個部分:

(1)內(nèi)核與bl31之間的調(diào)用接口規(guī)范

(2)內(nèi)核中的架構(gòu)

(3)bl31中的架構(gòu)

psci接口規(guī)范

psci規(guī)定了linux內(nèi)核調(diào)用bl31中電源管理相關(guān)服務(wù)的接口規(guī)范,它包含實現(xiàn)以下功能所需的接口:

(1)cpu idle管理

(2)向系統(tǒng)動態(tài)添加或從系統(tǒng)動態(tài)移除cpu,通常稱為hotplug

(3)secondary cpu啟動

(4)系統(tǒng)的shutdown和reset

psci接口規(guī)定了命令對應(yīng)的function_id、接口的輸入參數(shù)以及返回值。其中輸入?yún)?shù)可通過x0 – x7寄存器傳遞,而返回值通過x0 – x4寄存器傳遞。

如secondary cpu啟動或cpu hotplug時可調(diào)用cpu_on接口,為一個cpu執(zhí)行上電操作。

該接口的格式如下:

(1)function_id:0xc400 0003

(2)輸入?yún)?shù):使用mpidr值表示的target cpu id

cpu啟動入口的物理地址

context id,該值用于表示本次調(diào)用上下文相關(guān)的信息

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

有了以下這些接口的詳細定義,內(nèi)核和bl31就只需按照該接口的規(guī)定,獨立開發(fā)psci相關(guān)功能。從而避免了它們之間的耦合,簡化了開發(fā)復(fù)雜度。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1346

    瀏覽量

    40152
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10769

    瀏覽量

    210428
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8355

    瀏覽量

    150517
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11161

    瀏覽量

    208466
  • SMP
    SMP
    +關(guān)注

    關(guān)注

    0

    文章

    71

    瀏覽量

    19598
收藏 人收藏

    評論

    相關(guān)推薦

    spi接口規(guī)范

    spi接口規(guī)范
    發(fā)表于 12-19 19:37

    Um接口有什么規(guī)范?

    Um接口(也稱空中接口)的無線信令規(guī)程由《800MHz CDMA數(shù)字蜂窩移動通信網(wǎng)空中接口技術(shù)規(guī)范》規(guī)定。中國電信和中國聯(lián)通均已頒布了此規(guī)范。此規(guī)范
    發(fā)表于 10-09 09:00

    編程接口規(guī)范說明

    編程接口規(guī)范
    發(fā)表于 06-15 17:10

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

    今天來看一個電源功耗相關(guān)的東西,PSCI(Power State Coordination Interface),翻譯一下就是“電源狀態(tài)協(xié)作接口”。從名字就能直觀看出來,PSCI是一套電源管理
    發(fā)表于 04-02 09:45

    SD卡接口規(guī)范

    SD卡接口規(guī)范資料,很好的資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-25 17:40 ?0次下載

    M5311物聯(lián)網(wǎng)模組的AT命令接口規(guī)范

    本文檔的主要內(nèi)容詳細介紹的是M5311物聯(lián)網(wǎng)模組的AT命令接口規(guī)范。
    發(fā)表于 05-18 08:00 ?50次下載
    M5311物聯(lián)網(wǎng)模組的AT命令<b class='flag-5'>接口</b><b class='flag-5'>規(guī)范</b>

    CompactPCI電源接口規(guī)范

    CompactPCI電源接口規(guī)范(現(xiàn)代電源技術(shù)基礎(chǔ)課后答案第三章)-CPCI板卡開發(fā)合集→【CompactPCI電源接口規(guī)范-CN】
    發(fā)表于 09-29 17:12 ?48次下載
    CompactPCI電源<b class='flag-5'>接口</b><b class='flag-5'>規(guī)范</b>

    基于ARM架構(gòu)的PSCI接口規(guī)范

    本文主要是在ARM架構(gòu)的不同異常等級上工作的軟件之間,提供一個標(biāo)準(zhǔn)的電源管理接口。這些軟件,比如Linux、Hypervisor、安全Firmware和可信OS之間必須能夠?qū)崿F(xiàn)互相操作。而這些軟件可能由不同廠商提供,本標(biāo)準(zhǔn)就是為這些軟件的集成提供便利。
    的頭像 發(fā)表于 11-07 10:48 ?4032次閱讀

    psci電源管理接口可以用于什么場景

    psci是arm提供的一套電源管理接口,當(dāng)前一共包含0.1、0.2和1.0三個版本。它可被用于以下場景:(1)cpu的idle管理 (2)cpu hotplug以及secondary cpu啟動
    的頭像 發(fā)表于 12-05 16:28 ?464次閱讀

    psci電源管理拓撲結(jié)構(gòu)介紹

    psci 基礎(chǔ)概念知識 power domain我們前面已經(jīng)介紹過cpu的拓撲結(jié)構(gòu),如aarch64架構(gòu)下每塊soc可能會包含多個cluster,而每個cluster又包含多個core,它們共同
    的頭像 發(fā)表于 12-05 16:35 ?421次閱讀
    <b class='flag-5'>psci</b>電源管理拓撲結(jié)構(gòu)<b class='flag-5'>介紹</b>

    內(nèi)核中的psci驅(qū)動是什么

    內(nèi)核中的psci架構(gòu) 內(nèi)核psci軟件架構(gòu)包含psci驅(qū)動和每個cpu的cpu_ops回調(diào)函數(shù)實現(xiàn)兩部分。 其中psci驅(qū)動實現(xiàn)了驅(qū)動初始化和psc
    的頭像 發(fā)表于 12-05 16:58 ?590次閱讀
    內(nèi)核中的<b class='flag-5'>psci</b>驅(qū)動是什么

    內(nèi)核中的psci架構(gòu)cpu_ops接口

    cpu_ops接口 驅(qū)動初始化完成后,cpu的cpu_ops就可以調(diào)用這些回調(diào)實現(xiàn)psci功能的調(diào)用。如下所示,當(dāng)devicetree中cpu的enable-method設(shè)置為psci時,該cpu
    的頭像 發(fā)表于 12-05 17:25 ?561次閱讀

    bl31中的psci架構(gòu)介紹

    std_svc_setup會在bl31啟動流程中被調(diào)用,以用于初始化該服務(wù)相關(guān)的配置。而std_svc_smc_handler為其smc異常處理函數(shù),當(dāng)內(nèi)核通過psci接口調(diào)用相關(guān)服務(wù)時,最終將由該函數(shù)執(zhí)行實際的處理流程。 上圖為psc
    的頭像 發(fā)表于 12-05 17:33 ?869次閱讀
    bl31中的<b class='flag-5'>psci</b>架構(gòu)<b class='flag-5'>介紹</b>

    SMP多核啟動PSCI代碼示例

    1、std_svc_setup (主要關(guān)注設(shè)置psci操作集)--有服務(wù) std_svc_setup //services/std_svc/std_svc_setup.c - >psci
    的頭像 發(fā)表于 12-05 17:45 ?563次閱讀

    PSCI處理函數(shù)代碼分析

    處理函數(shù)根據(jù)funid來決定服務(wù),可以看到PSCI_CPU_ON_AARCH64為0xc4000003,這正是設(shè)備樹中填寫的cpu_on屬性的id,會委托psci_cpu_on來執(zhí)行核上電任務(wù)。下面
    的頭像 發(fā)表于 12-05 18:08 ?810次閱讀