psci_cpu_on () //lib/psci/psci_main.c - > psci_validate_entry_point () //驗證入口地址有效性并 保存入口點到一個結(jié)構(gòu)ep中 - > psci_cpu_on_start (target_cpu, //lib/el3_runtime/aarch64/context_mgmt.c write_ctx_reg (state, CTX_ELR_EL3, ep- >pc); //注:異常返回時執(zhí)行此地址 于是完成了cpu的啟動?。。?write_ctx_reg (state, CTX_SP" />

在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

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

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

處理函數(shù)根據(jù)funid來決定服務(wù),可以看到PSCI_CPU_ON_AARCH64為0xc4000003,這正是設(shè)備樹中填寫的cpu_on屬性的id,會委托psci_cpu_on來執(zhí)行核上電任務(wù)。下面分析是重點:?。?!

- >psci_cpu_on()  //lib/psci/psci_main.c
 - >psci_validate_entry_point()  //驗證入口地址有效性并  保存入口點到一個結(jié)構(gòu)ep中
 - >psci_cpu_on_start(target_cpu, &ep)   //ep入口地址
  - >psci_plat_pm_ops- >pwr_domain_on(target_cpu)
   - >qemu_pwr_domain_on  //實現(xiàn)核上電(平臺實現(xiàn))
  /* Store the re-entry information for the non-secure world. */
  - >cm_init_context_by_index()  //重點:會通過cpu的編號找到 cpu上下文(cpu_context_t),存在cpu寄存器的值,異常返回的時候?qū)憣懙綄?yīng)的寄存器中,然后eret,舊返回到了el1?。?!
   - >cm_setup_context()  //設(shè)置cpu上下文
     - > write_ctx_reg(state, CTX_SCR_EL3, scr_el3);  //lib/el3_runtime/aarch64/context_mgmt.c
              write_ctx_reg(state, CTX_ELR_EL3, ep- >pc);  //注:異常返回時執(zhí)行此地址  于是完成了cpu的啟動!!!
              write_ctx_reg(state, CTX_SPSR_EL3, ep- >spsr);

psci_cpu_on主要完成開核的工作 ,然后會設(shè)置一些異常返回后寄存器的值(eg:從el1 -> el3 -> el1),重點關(guān)注 ep->pc寫到cpu_context結(jié)構(gòu)的CTX_ELR_EL3偏移處(從處理器啟動后會從這個地址取指執(zhí)行)。

實際上, 所有的從處理器啟動后都會從bl31_warm_entrypoint開始執(zhí)行 ,在plat_setup_psci_ops中會設(shè)置(每個平臺都有自己的啟動地址寄存器,通過寫這個寄存器來獲得上電后執(zhí)行的指令地址)。

大致說一下:主處理器通過smc進入el3請求開核服務(wù),atf中會響應(yīng)這種請求, 通過平臺的開核操作來啟動從處理器并且設(shè)置從處理的一些寄存器eg:scr_el3、spsr_el3、elr_el3,然后主處理器,恢復(fù)現(xiàn)場,eret再次回到el1 ,

而處理器開核之后會從bl31_warm_entrypoint開始執(zhí)行,最后通過el3_exit返回到el1的elr_el3設(shè)置的地址。

分析到這atf的分析到此為止,atf中主要是響應(yīng)內(nèi)核的snc的請求,然后做開核處理,也就是實際的開核動作,但是從處理器最后還是要回到內(nèi)核中執(zhí)行

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

    關(guān)注

    68

    文章

    11048

    瀏覽量

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

    關(guān)注

    0

    文章

    78

    瀏覽量

    20183
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4372

    瀏覽量

    64290
  • 設(shè)備樹
    +關(guān)注

    關(guān)注

    0

    文章

    39

    瀏覽量

    3317
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

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

    新的中斷不會再發(fā)給該處理器核;反過來,如果處理器核重新上電,要在OS調(diào)度器中加載該處理器的信息,并且需要重新配置中斷寄存器。而CPUIdle就沒有加載/移除的需要。從上圖可以看出來,PSCI
    發(fā)表于 04-02 09:45

    2160處理器支持VHE嗎?

    ] CPU15: 關(guān)閉 [ 94.403035] psci: CPU15 被殺死。 [94.417654]再見! 然后控制臺沒有輸出,看了kexec代碼后,我有一些疑問: 1. 2160處理器支持VHE嗎?我
    發(fā)表于 06-08 07:21

    ESAM接口函數(shù)代碼

    ESAM接口函數(shù)代碼 ESAM接口函數(shù)說是用子程序的代碼
    發(fā)表于 08-18 16:51 ?65次下載

    華清遠(yuǎn)見FPGA代碼-使用函數(shù)實現(xiàn)簡單的八位處理

    華清遠(yuǎn)見FPGA代碼-使用函數(shù)實現(xiàn)簡單的八位處理
    發(fā)表于 10-27 18:07 ?4次下載

    ARM處理器的啟動代碼分析與設(shè)計

    ARM處理器的啟動代碼分析與設(shè)計
    發(fā)表于 09-25 08:27 ?12次下載
    ARM<b class='flag-5'>處理</b>器的啟動<b class='flag-5'>代碼</b>的<b class='flag-5'>分析</b>與設(shè)計

    用于MPLAB X IDE代碼性能分析插件的工作原理和代碼性能分析參考

    MPLAB X IDE提供收集有關(guān)C代碼函數(shù)函數(shù)級性能分析(Function Level Profiling, FLP)數(shù)據(jù)的功能。但是,該數(shù)據(jù)無法在未安裝MPLAB X IDE插件
    發(fā)表于 06-11 04:28 ?11次下載
    用于MPLAB X IDE<b class='flag-5'>代碼</b>性能<b class='flag-5'>分析</b>插件的工作原理和<b class='flag-5'>代碼</b>性能<b class='flag-5'>分析</b>參考

    MATLAB圖像處理工具箱的函數(shù)介紹和圖像處理分析的技術(shù)實現(xiàn)分析

    介紹了MATLAB 圖像處理工具箱中的函數(shù), 給出了圖像處理分析的技術(shù)實現(xiàn), 如用空域法進行圖像增強, 通過形態(tài)學(xué)方法進行圖像特征抽取與分析
    發(fā)表于 10-30 16:30 ?10次下載
    MATLAB圖像<b class='flag-5'>處理</b>工具箱的<b class='flag-5'>函數(shù)</b>介紹和圖像<b class='flag-5'>處理</b>與<b class='flag-5'>分析</b>的技術(shù)實現(xiàn)<b class='flag-5'>分析</b>

    用于MPLABX IDE的代碼性能分析插件

    MPLAB X IDE提供收集有關(guān)C代碼函數(shù)函數(shù)級性能分析(Function Level Profiling,F(xiàn)LP)數(shù)據(jù)的功能。但是,該數(shù)據(jù)無法在未安裝MPLAB X IDE插件—
    發(fā)表于 05-12 10:38 ?15次下載

    使用Arduino函數(shù)簡化代碼

    組織擴展代碼的一種出色技術(shù)是使用函數(shù),即可以根據(jù)需要從程序的其他部分(例如通過主循環(huán))調(diào)用的代碼片段。
    的頭像 發(fā)表于 08-16 09:23 ?2187次閱讀
    使用Arduino<b class='flag-5'>函數(shù)</b>簡化<b class='flag-5'>代碼</b>

    psci接口規(guī)范介紹

    由于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)
    的頭像 發(fā)表于 12-05 16:53 ?1355次閱讀

    內(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ū)動初始化
    的頭像 發(fā)表于 12-05 16:58 ?1026次閱讀
    內(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 ?983次閱讀

    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ù)時,最終將由該
    的頭像 發(fā)表于 12-05 17:33 ?1439次閱讀
    bl31中的<b class='flag-5'>psci</b>架構(gòu)介紹

    SMP多核啟動PSCI代碼示例

    _setup //lib/psci/psci_setup.c - >plat_setup_psci_ops //設(shè)置平臺的psci操作 調(diào)用平臺的plat_setup_
    的頭像 發(fā)表于 12-05 17:45 ?953次閱讀

    C語言如何處理函數(shù)的返回值

    當(dāng)你在函數(shù)的最后寫上 return 0 的時候,它是如何返回給調(diào)用函數(shù)的? 比如 test 函數(shù),為了待會更好的看懂匯編代碼,我寫成了 return 1234。
    的頭像 發(fā)表于 01-16 09:21 ?377次閱讀
    主站蜘蛛池模板: 大学生一级特黄的免费大片视频 | 色老太视频| 午夜影院啊啊啊 | 国模于子涵啪啪大胆 | 轻点灬大ji巴太粗太长了爽文 | 四虎a级欧美在线观看 | 天堂资源在线bt种子8 | 欧美三级黄视频 | 性色aⅴ闺蜜一区二区三区 性色成人网 | 久久久亚洲欧美综合 | 搜索黄色毛片 | 亚洲黄色影片 | 在线精品国产第一页 | 啪啪色视频 | 色爱区综合 | 免费国产午夜在线观看 | 男人搡女人视频免费看 | 午夜剧场毛片 | 久久久久免费精品国产 | 成人xx视频免费观看 | 免费抓胸吻胸激烈视频网站 | 91在线操| 日本香蕉视频 | 男人操女人免费视频 | 亚洲国产精品婷婷久久久久 | 国色天香精品亚洲精品 | 国产网站免费观看 | 日日操日日爽 | 美女扒开腿让男人桶尿口 | 色视频网站免费 | 一级做a爱片就在线看 | 在线 色| 99综合久久| 欧美做a欧美| 美女视频很黄很a免费国产 美女视频很黄很暴黄是免费的 | 思思久久96热在精品不卡 | 狠狠躁夜夜躁人人爽天天miya | 日本三级理论片 | 精品你懂的 | 色综合天天操 | 一夜七次郎久久综合伊人 |