由于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、接口的輸入?yún)?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)核
+關(guān)注
關(guān)注
3文章
1416瀏覽量
41443 -
cpu
+關(guān)注
關(guān)注
68文章
11080瀏覽量
217113 -
接口
+關(guān)注
關(guān)注
33文章
9005瀏覽量
153763 -
Linux
+關(guān)注
關(guān)注
87文章
11511瀏覽量
213833 -
SMP
+關(guān)注
關(guān)注
0文章
78瀏覽量
20284
發(fā)布評論請先 登錄
Um接口有什么規(guī)范?
ARM電源管理中的PSCI是什么意思呢
M5311物聯(lián)網(wǎng)模組的AT命令接口規(guī)范

CompactPCI電源接口規(guī)范

基于ARM架構(gòu)的PSCI接口規(guī)范
psci電源管理接口可以用于什么場景
psci電源管理拓撲結(jié)構(gòu)介紹

psci電源狀態(tài)基礎(chǔ)知識介紹

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

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

評論