psci是arm提供的一套電源管理接口,當(dāng)前一共包含0.1、0.2和1.0三個(gè)版本。它可被用于以下場(chǎng)景:(1)cpu的idle管理
(2)cpu hotplug以及secondary cpu啟動(dòng)
(3)系統(tǒng)shutdown和reset
首先,我們先來看下設(shè)備樹cpu節(jié)點(diǎn)對(duì)psci的支持:
arch/arm64/boot/dts/xxx.dtsi:
cpu0: cpu@0 {
device_type = "cpu";
compatible = "arm,armv8";
reg = < 0x0 >;
enable-method = "psci";
};
psci {
compatible = "arm,psci";
method = "smc";
cpu_suspend = < 0xC4000001 >;
cpu_off = < 0x84000002 >;
cpu_on = < 0xC4000003 >;
};
從這個(gè)我們可以獲得什么信息呢?
可以看到現(xiàn)在enable-method 屬性已經(jīng)是psci,說明使用的多核啟動(dòng)方式是psci,
下面還有psci節(jié)點(diǎn),用于psci驅(qū)動(dòng)使用,method用于說明調(diào)用psci功能使用什么指令,可選有兩個(gè)smc和hvc。
其實(shí)smc, hvc和svc都是從低運(yùn)行級(jí)別向高運(yùn)行級(jí)別請(qǐng)求服務(wù)的指令,我們最常用的就是svc指令了,這是實(shí)現(xiàn)系統(tǒng)調(diào)用的指令。
高級(jí)別的運(yùn)行級(jí)別會(huì)根據(jù)傳遞過來的參數(shù)來決定提供什么樣的服務(wù)。
smc是用于陷入el3(安全),hvc用于陷入el2(虛擬化, 虛擬化場(chǎng)景中一般通過hvc指令陷入el2來請(qǐng)求喚醒vcpu), svc用于陷入el1(系統(tǒng))。
-
電源管理
+關(guān)注
關(guān)注
116文章
6271瀏覽量
145596 -
cpu
+關(guān)注
關(guān)注
68文章
11000瀏覽量
214937 -
SMP
+關(guān)注
關(guān)注
0文章
76瀏覽量
20070 -
設(shè)備樹
+關(guān)注
關(guān)注
0文章
39瀏覽量
3270
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
ARM電源管理中的PSCI是什么意思呢
ACPI(高級(jí)配置與電源接口)的PC電源管理
達(dá)林頓晶體管除常用于步進(jìn)電機(jī)驅(qū)動(dòng)器外,還可以用于什么?
psci電源管理拓?fù)浣Y(jié)構(gòu)介紹

psci接口規(guī)范介紹
內(nèi)核中的psci驅(qū)動(dòng)是什么

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

SMP多核啟動(dòng)PSCI代碼示例
PSCI處理函數(shù)代碼分析
人員定位系統(tǒng)都可以用于哪些行業(yè)?

評(píng)論