一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

麥辣雞腿堡 ? 來源:TrustZone ? 作者:Hcoco ? 2023-12-05 17:25 ? 次閱讀

cpu_ops接口

驅(qū)動初始化完成后,cpu的cpu_ops就可以調(diào)用這些回調(diào)實現(xiàn)psci功能的調(diào)用。如下所示,當(dāng)devicetree中cpu的enable-method設(shè)置為psci時,該cpu的cpu_ops將指向cpu_psci_ops。

cpu0: cpu@0 {
	...
	enable-method = "psci";
	…
}

其中cpu_psci_ops的定義如下:

const struct cpu_operations cpu_psci_ops = {
	.name		= "psci",
	.cpu_init	= cpu_psci_cpu_init,
	.cpu_prepare	= cpu_psci_cpu_prepare,
	.cpu_boot	= cpu_psci_cpu_boot,
#ifdef CONFIG_HOTPLUG_CPU
	.cpu_can_disable = cpu_psci_cpu_can_disable,
	.cpu_disable	= cpu_psci_cpu_disable,
	.cpu_die	= cpu_psci_cpu_die,
	.cpu_kill	= cpu_psci_cpu_kill,
#endif
}

如啟動cpu的接口為cpu_psci_cpu_boot,它會通過以下流程最終調(diào)用psci驅(qū)動中的psci_ops函數(shù):

static int cpu_psci_cpu_boot(unsigned int cpu)
{
	phys_addr_t pa_secondary_entry = __pa_symbol(function_nocfi(secondary_entry));
	int err = psci_ops.cpu_on(cpu_logical_map(cpu), pa_secondary_entry);
	if (err)
		pr_err("failed to boot CPU%d (%d)n", cpu, err);

	return err;
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1405

    瀏覽量

    40974
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11013

    瀏覽量

    215303
  • 驅(qū)動
    +關(guān)注

    關(guān)注

    12

    文章

    1882

    瀏覽量

    86374
  • SMP
    SMP
    +關(guān)注

    關(guān)注

    0

    文章

    76

    瀏覽量

    20109
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    ARM電源管理PSCI是什么意思呢

    今天來看一個電源功耗相關(guān)的東西,PSCI(Power State Coordination Interface),翻譯一下就是“電源狀態(tài)協(xié)作接口”。從名字就能直觀看出來,PSCI是一套電源管理
    發(fā)表于 04-02 09:45

    請教大神qemu模擬cortex-A53運行rt-thread出錯怎么解決呢?

    出現(xiàn)了No cpu_ops was probed for CPU 1,請問是什么原因,我該怎么配置?感謝各位大佬
    發(fā)表于 02-15 10:51

    OPS常見問題的故障定位思路

    ,應(yīng)用編程接口)來開放系統(tǒng),在基于OPS開發(fā)的過程,可能出現(xiàn)OPS功能配置不生效的現(xiàn)象,本文介紹了OPS常見問題的故障定位思路及基本解決方
    的頭像 發(fā)表于 12-22 10:04 ?3002次閱讀

    CPU 拓撲的SMP架構(gòu)

    CPU 拓撲用來表示 CPU 在硬件層面的組合方式,本文主要講解 CPU 拓撲的 SMP(Symmetric Multi-Processor,對稱多處理器系統(tǒng))
    的頭像 發(fā)表于 08-29 11:02 ?4933次閱讀

    基于ARM架構(gòu)PSCI接口規(guī)范

    本文主要是在ARM架構(gòu)的不同異常等級上工作的軟件之間,提供一個標(biāo)準的電源管理接口。這些軟件,比如Linux、Hypervisor、安全Firmware和可信OS之間必須能夠?qū)崿F(xiàn)互相操作。而這些軟件可能由不同廠商提供,本標(biāo)準就是為這些軟件的集成提供便利。
    的頭像 發(fā)表于 11-07 10:48 ?4702次閱讀

    如何在內(nèi)核啟動secondary cpu

    啟動secondary cpu 內(nèi)核在啟動secondary cpu之前當(dāng)然需要為其準備好執(zhí)行環(huán)境,因為內(nèi)核
    的頭像 發(fā)表于 12-05 15:46 ?804次閱讀
    如何在<b class='flag-5'>內(nèi)核</b><b class='flag-5'>中</b>啟動secondary <b class='flag-5'>cpu</b>

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

    cpu操作函數(shù) cpu_ops函數(shù)由bringup_cpu調(diào)用,以觸發(fā)secondary cpu啟動。它是根據(jù)設(shè)備樹解析出的enable-
    的頭像 發(fā)表于 12-05 16:04 ?1105次閱讀
    SMP多核啟動<b class='flag-5'>cpu</b>操作函數(shù)

    psci電源管理接口可以用于什么場景

    psci是arm提供的一套電源管理接口,當(dāng)前一共包含0.1、0.2和1.0三個版本。它可被用于以下場景:(1)cpu的idle管理 (2)cpu hotplug以及secondary
    的頭像 發(fā)表于 12-05 16:28 ?730次閱讀

    psci接口規(guī)范介紹

    由于psci是由linux內(nèi)核調(diào)用bl31的安全服務(wù),實現(xiàn)cpu電源管理功能的。因此其軟件架構(gòu)包含三個部分: (1)
    的頭像 發(fā)表于 12-05 16:53 ?1230次閱讀

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

    內(nèi)核psci架構(gòu) 內(nèi)核psci軟件架構(gòu)包含
    的頭像 發(fā)表于 12-05 16:58 ?953次閱讀
    <b class='flag-5'>內(nèi)核</b><b class='flag-5'>中</b>的<b class='flag-5'>psci</b>驅(qū)動是什么

    bl31psci架構(gòu)介紹

    bl31psci架構(gòu) bl31為內(nèi)核提供了一系列運行時服務(wù),psci作為其標(biāo)準運行時服務(wù)的一部分,通過宏DECLARE_RT_SVC注冊
    的頭像 發(fā)表于 12-05 17:33 ?1338次閱讀
    bl31<b class='flag-5'>中</b>的<b class='flag-5'>psci</b><b class='flag-5'>架構(gòu)</b>介紹

    SMP多核secondary cpu啟動流程

    secondary cpu啟動 由于psci方式啟動secondary cpu的流程,除了其所執(zhí)行的cpu_ops不同之外,其它流程與spin-table方式是相同的,因此我們這里只給
    的頭像 發(fā)表于 12-05 17:41 ?1133次閱讀
    SMP多核secondary <b class='flag-5'>cpu</b>啟動流程

    SMP多核啟動PSCI代碼示例

    :qemu平臺 - >*psci_ops = 208 static const plat_psci_ops_t plat_qemu_psci_pm_ops = { 209 .cpu
    的頭像 發(fā)表于 12-05 17:45 ?887次閱讀

    PSCI處理函數(shù)代碼分析

    處理函數(shù)根據(jù)funid來決定服務(wù),可以看到PSCI_CPU_ON_AARCH64為0xc4000003,這正是設(shè)備樹填寫的cpu_on屬性的id,會委托psci_cpu_on來執(zhí)行核
    的頭像 發(fā)表于 12-05 18:08 ?1108次閱讀

    開核返回:EL1啟動從處理器

    許使用psci情況 - > rest_init - > kernel_init - > kernel_init_freeable - > smp_prepare_cpus //準備cpu 對于每個可能的cpu 1.
    的頭像 發(fā)表于 12-05 18:11 ?753次閱讀