psci是arm提供的一套電源管理接口,當前一共包含0.1、0.2和1.0三個版本。它可被用于以下場景:(1)cpu的idle管理
(2)cpu hotplug以及secondary cpu啟動
(3)系統shutdown和reset
首先,我們先來看下設備樹cpu節點對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 >;
};
從這個我們可以獲得什么信息呢?
可以看到現在enable-method 屬性已經是psci,說明使用的多核啟動方式是psci,
下面還有psci節點,用于psci驅動使用,method用于說明調用psci功能使用什么指令,可選有兩個smc和hvc。
其實smc, hvc和svc都是從低運行級別向高運行級別請求服務的指令,我們最常用的就是svc指令了,這是實現系統調用的指令。
高級別的運行級別會根據傳遞過來的參數來決定提供什么樣的服務。
smc是用于陷入el3(安全),hvc用于陷入el2(虛擬化, 虛擬化場景中一般通過hvc指令陷入el2來請求喚醒vcpu), svc用于陷入el1(系統)。
-
電源管理
+關注
關注
115文章
6193瀏覽量
144959 -
cpu
+關注
關注
68文章
10905瀏覽量
213032 -
SMP
+關注
關注
0文章
76瀏覽量
19749 -
設備樹
+關注
關注
0文章
39瀏覽量
3163
發布評論請先 登錄
相關推薦
ARM電源管理中的PSCI是什么意思呢
ACPI(高級配置與電源接口)的PC電源管理
達林頓晶體管除常用于步進電機驅動器外,還可以用于什么?
psci電源管理拓撲結構介紹
![<b class='flag-5'>psci</b><b class='flag-5'>電源</b><b class='flag-5'>管理</b>拓撲結構介紹](https://file1.elecfans.com/web2/M00/B4/73/wKgZomVu34OAXRYaAADXUObYAZ8393.jpg)
psci接口規范介紹
內核中的psci驅動是什么
![內核中的<b class='flag-5'>psci</b>驅動是什么](https://file1.elecfans.com/web2/M00/B2/AF/wKgaomVu5Q2APT6ZAAGUCF-LhVY534.jpg)
內核中的psci架構cpu_ops接口
bl31中的psci架構介紹
![bl31中的<b class='flag-5'>psci</b>架構介紹](https://file1.elecfans.com/web2/M00/B2/B1/wKgaomVu7IKAHCo9AAIO3tTVm-Y546.jpg)
SMP多核啟動PSCI代碼示例
PSCI處理函數代碼分析
人員定位系統都可以用于哪些行業?
![人員定位系統都<b class='flag-5'>可以用于</b>哪些行業?](https://file1.elecfans.com/web2/M00/FA/4F/wKgZomaM-0-AfpOOAAaZr-Vhe2k378.png)
評論