secondary cpu啟動(dòng)
由于psci方式啟動(dòng)secondary cpu的流程,除了其所執(zhí)行的cpu_ops不同之外,其它流程與spin-table方式是相同的,因此我們這里只給出執(zhí)行流程圖,詳細(xì)分析可以參考上篇博文。其中以下流程執(zhí)行secondary cpu啟動(dòng)相關(guān)的一些初始化工作:
在初始化完成且hotplug線程創(chuàng)建完成后,就可通過(guò)以下流程喚醒cpu hotplug線程:
此后hotplug線程將調(diào)用psci回調(diào)函數(shù),并最終觸發(fā)smc異常進(jìn)入bl31:
bl31接收到該異常后執(zhí)行std_svc_smc_handler處理函數(shù),并最終調(diào)用平臺(tái)相關(guān)的電源管理接口,完成cpu的上電工作,以下為其執(zhí)行流程:
平臺(tái)相關(guān)回調(diào)函數(shù)pwr_domain_on將為secondary cpu設(shè)置入口函數(shù),然后為其上電使該cpu跳轉(zhuǎn)到內(nèi)核入口secondary_entry處開(kāi)始執(zhí)行。以下為其內(nèi)核啟動(dòng)流程:
到這里其實(shí)就結(jié)束了,不得不說(shuō)這個(gè)前輩的文章是真的寫(xiě)的邏輯清晰,收獲頗多。
-
電源
+關(guān)注
關(guān)注
185文章
18368瀏覽量
256275 -
cpu
+關(guān)注
關(guān)注
68文章
11080瀏覽量
217062 -
多核
+關(guān)注
關(guān)注
0文章
43瀏覽量
12535 -
SMP
+關(guān)注
關(guān)注
0文章
78瀏覽量
20281
發(fā)布評(píng)論請(qǐng)先 登錄
記錄學(xué)習(xí)ARM Linux的多核啟動(dòng)過(guò)程
介紹在ARM64架構(gòu)下啟動(dòng)多核的兩種方式
基于raspi 3b上的SMP設(shè)計(jì)實(shí)現(xiàn)
RT-Thread SMP和AMP初體驗(yàn)簡(jiǎn)介
RT-Thread框架下的SMP支持
SOC的多核啟動(dòng)流程詳解
Linux在SMP系統(tǒng)上的移植研究

ARM64 SMP多核啟動(dòng)(上)—spin-table

多核CPU的啟動(dòng)方式
SMP是什么?多核芯片(SMP)的啟動(dòng)方法

RT-Thread SMP啟動(dòng)流程

secondary cpu初始化狀態(tài)設(shè)置

SMP多核啟動(dòng)cpu操作函數(shù)

secondary cpu執(zhí)行流程介紹

評(píng)論