由于psci是由linux內(nèi)核調(diào)用bl31中的安全服務,實現(xiàn)cpu電源管理功能的。因此其軟件架構包含三個部分:
(1)內(nèi)核與bl31之間的調(diào)用接口規(guī)范
(2)內(nèi)核中的架構
(3)bl31中的架構
psci接口規(guī)范
psci規(guī)定了linux內(nèi)核調(diào)用bl31中電源管理相關服務的接口規(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ī)定了命令對應的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)用上下文相關的信息
(3)返回值:可以為success、invalid_parameter、invalid_address、already_on、on_pending或internal_failure
有了以下這些接口的詳細定義,內(nèi)核和bl31就只需按照該接口的規(guī)定,獨立開發(fā)psci相關功能。從而避免了它們之間的耦合,簡化了開發(fā)復雜度。
-
內(nèi)核
+關注
關注
3文章
1405瀏覽量
40972 -
cpu
+關注
關注
68文章
11013瀏覽量
215295 -
接口
+關注
關注
33文章
8891瀏覽量
153013 -
Linux
+關注
關注
87文章
11425瀏覽量
212398 -
SMP
+關注
關注
0文章
76瀏覽量
20106
發(fā)布評論請先 登錄
Um接口有什么規(guī)范?
ARM電源管理中的PSCI是什么意思呢
M5311物聯(lián)網(wǎng)模組的AT命令接口規(guī)范

CompactPCI電源接口規(guī)范

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

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

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

評論