色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

OP-TEE的內核初始化過程

麥辣雞腿堡 ? 來源:TrustZone ? 作者:TrustZone ? 2023-11-02 17:57 ? 次閱讀

1 OP-TEE OS的入口函數

  • ? OP-TEE鏡像的入口函數是在編譯OP-TEE OS時通過鏈接文件來確定的,
  • ? OP-TEE在編譯時是按照optee_os/core/arch/arm/kernel/kern.ld.S文件鏈接生成OP-TEE OS的鏡像文件,
  • ? 在kern.ld.S文件中通過ENTRY宏來指定OP-TEE OS的入口函數,在OP-TEE中指定的入口函數是_start,
    • ? 對于ARM32位系統,該函數定義在optee_os/core/arch/arm/generic_entry_a32.S文件中,
    • ? 對于ARM64位系統而言,該函數定義在optee_os/core/arch/arm generic_entry_a64.S文件中。

2 OP-TEE的內核初始化過程

** _start會調用reset函數進入OP-TEE OS的啟動過程**。

由于對稱多處理(Symmetr ical Multi-Processing, SMP)架構的原因,在reset函數中會對主核和從核進行不同的啟動操作,分別調用reset_primary函數和reset_secondary函數來完成。

1. reset入口函數執行內容

reset函數是主核和從核啟動的第一個函數,該函數的執行流程如圖所示。

圖片
reset函數執行流程

進入到reset函數后, 系統會將_start的地址寫入VBAR寄存器作為中斷向量表的起始地址使用 ,

在啟動從核時, 從核知道會到該地址去獲取應該執行代碼來完成從核的啟動 。整個reset函數的內容和注釋如下:

LOCAL_FUNC reset , :
        UNWIND( .fnstart)
        UNWIND( .cantunwind)
            bootargs_entry              //獲取啟動帶入的參數,主要是啟動地址、device tree地址等
            /* 使能對齊檢查并禁用數據和指令緩存 */
            read_sctlr r0                //讀取sctlr中的數據,獲取當前CPU控制寄存器中的值
        #if defined(CFG_SCTLR_ALIGNMENT_CHECK)
            orr r0, r0, #SCTLR_A       //設定對齊校驗
        #else
            bic r0, r0, #SCTLR_A
        #endif
            bic r0, r0, #SCTLR_C       //關閉數據cache
            bic r0, r0, #SCTLR_I       //關閉指令cache
        #if defined(CFG_HWSUPP_MEM_PERM_WXN) && defined(CFG_CORE_RWDATA_NOEXEC)
            orr r0, r0, #(SCTLR_WXN | SCTLR_UWXN)
        #endif
            write_sctlr r0              //將r0寫入到sctlr中,用于關閉cache
            isb
            /* 早期ARM核安全監控模式態的特殊配置 */
            bl  plat_cpu_reset_early   //執行CPU早期初始化
            ldr r0, =_start             //設定r0寄存器的值為_start函數的地址
            write_vbar r0                //將_start函數的地址寫入VBAR寄存器中,用于啟動時使用
        #if defined(CFG_WITH_ARM_TRUSTED_FW)
            b   reset_primary           //支持ATF時跳轉到reset_primary中執行
        #else
              bl  get_core_pos            //判定當前CPU CORE的編號
              cmp r0, #0                   //將獲得的CPU編號與0對比
              beq reset_primary           //如果當前core是主核,則使用reset_primary進行初始化
              b   reset_secondary         //如果當前core是從核,則使用reset_secondary進行初始化
          #endif
          UNWIND( .fnend)
          END_FUNC reset

plat_cpu_reset_early函數將會設定SCR寄存器中的安全標志位 ,用于標記當前CPU是處于安全世界狀態中,并且將_start地址寫入VBAR寄存器,用于在需要啟動從核時系統能找到啟動代碼的入口地址,

reset_primary函數是主核啟動代碼的入口函數,該函數將會啟動主核的基本初始化、配置運行環境,然后再開始執行喚醒從核的操作。

  • ? 對于從核的喚醒操作,如果系統支持PSCI,從核的喚醒是在REE OS啟動時 ,發送PSCI給EL3或Monitor模式的代碼來啟動從核;
  • ? 如果不使用PSCI,而是選擇在OP-TEE中使能CFG_SYNC_BOOT_CPU,則OP-TEE會在主核啟動結束后喚醒從核。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5355

    瀏覽量

    120503
  • 函數
    +關注

    關注

    3

    文章

    4333

    瀏覽量

    62686
  • 架構
    +關注

    關注

    1

    文章

    515

    瀏覽量

    25488
  • TEE
    TEE
    +關注

    關注

    0

    文章

    29

    瀏覽量

    10271
收藏 人收藏

    評論

    相關推薦

    請問Beal環境下編譯OP-TEE后生成FIP需要哪些文件?

    stm32mp157d-***-bl32.dtb fip.bin但是當我使用 OP-TEE 時,我使用以下命令:fiptool 創建 --tos-fw tee
    發表于 12-05 07:06

    請問HSE op-tee是什么關系?

    我有個問題。S32G同時支持HSE和op-tee。S32G的安全加解密和證書管理是通過HSE完成的嗎?op-tee 和 HSE 只是其中之一嗎?有沒有相關的設計文檔?謝謝
    發表于 04-06 06:26

    OP-TEE無法在鎖定的i.MX6UL上初始化JR怎么解決?

    imx 存儲庫,而 U-boot 來自主線存儲庫 (2023.1)在我們鎖定設備之前,這似乎工作正常。鎖定設備后,我們在 OP-TEE 初始化時得到以下輸出(啟用了一些額外的跟蹤消息):E/TC:0 0
    發表于 04-17 07:31

    LINUX系統引導和初始化-LINUX內核解讀

    Linux 的系統引導和初始化 ----------Linux2.4.22內核解讀之一 一、 系統引導和初始化概述 相關代碼(引導扇區的程序及其輔助程序,以 x86體系為例): \linux-2.4.22\arch\i386\b
    發表于 11-03 22:31 ?53次下載

    解析內核初始化時根內存盤的加載過程

    到內存盤中作為根盤。 當同時配置了初始化內存盤(Initail RAM Disk)時, 內核初始化時可以在安裝主盤之前, 通過引導程序所加載的initrd文件建立一個內存初始化盤,
    發表于 11-08 10:40 ?0次下載

    uboot和內核里phy的初始化_內核里的雙網絡配置及phy的初始化

    uboot 和內核里 phy 的初始化,以及內核里的雙網絡配置及 phy 的初始化。 本文以盈鵬飛嵌入式的CoM-335x(基于AM335x)核心板及網絡芯片LAN8720 為例,說明
    的頭像 發表于 05-17 08:19 ?1.2w次閱讀

    Linux內核初始化過程中的調用順序

    所有的__init函數在區段.initcall.init中還保存了一份函數指針,在初始化內核會通過這些函數指針調用這些__init函數指針,并在整個初始化完成后,釋放整個init區段(包括.init.text,.initcal
    發表于 05-12 08:40 ?1614次閱讀

    Armlinux內核移植及系統初始化過程分析

    Armlinux內核移植及系統初始化過程分析說明。
    發表于 04-06 15:53 ?11次下載

    OP-TEE中安全驅動的框架

    OP-TEE中的安全驅動是OP-TEE操作安全設備的載體。 TA通過調用某個安全驅動的接口就可實現對特定安全設備的操作。安全驅動在OP-TEE中的軟件框架如圖22-2所示。 (其實這里,你要搞清楚
    的頭像 發表于 10-30 16:04 ?839次閱讀
    <b class='flag-5'>OP-TEE</b>中安全驅動的框架

    OP-TEE內核初始化函數調用

    generic_boot_init_primary函數內容 generic_boot_init_primary函數是OP-TEE建立系統運行環境的入口函數,該函數會進行建立線程運行空間、初始化
    的頭像 發表于 11-02 18:18 ?766次閱讀
    <b class='flag-5'>OP-TEE</b>的<b class='flag-5'>內核</b><b class='flag-5'>初始化</b>函數調用

    OP-TEE服務項的啟動

    OP-TEE服務項的啟動分為: service_init以及service_init_late ,需要被啟動的服務項通過使用這兩個宏,在編譯時,相關服務的內容將會被保存到initcall1
    的頭像 發表于 11-07 15:04 ?745次閱讀

    ARM64位與ARM32位OP-TEE啟動過程的差異

    進入reset中去執行OP-TEE啟動,而是直接在_start函數中就完成整個啟動過程, 在進行初始化操作之前會注冊一個異常向量表,該異常向量表會在喚醒從核階段被使用,當主核通知喚醒從核時,從核會查找
    的頭像 發表于 11-07 15:12 ?789次閱讀

    ATF中bl32的啟動方法

    ATF中bl32的啟動 bl31中的runtime_svc_init函數會初始化OP-TEE對應的服務,通過調用該服務項的初始化函數來完成OP-TEE的啟動。對于
    的頭像 發表于 11-07 16:32 ?644次閱讀
    ATF中bl32的啟動方法

    OP-TEE的安全存儲的簡介

    OP-TEE的安全存儲的簡介 OP-TEE的安全存儲功能是OP-TEE為用戶提供的安全存儲機制。用戶可使用安全存儲功能來保存敏感數據、密鑰等信息。 使用OP-TEE安全存儲功能保存數據
    的頭像 發表于 11-21 11:33 ?1076次閱讀
    <b class='flag-5'>OP-TEE</b>的安全存儲的簡介

    OP-TEE安全存儲安全文件的格式

    安全文件、dirf.db文件的數據格式和操作過程 OP-TEE的安全存儲功能可滿足用戶保存敏感數據的需求,需要被保存的數據會被加 密保存到文件系統或RPMB分區中 。 當選擇將數據保存到文件系統中
    的頭像 發表于 11-21 11:49 ?835次閱讀
    <b class='flag-5'>OP-TEE</b>安全存儲安全文件的格式
    主站蜘蛛池模板: 善良的女房东味道2在线观看| 精子pk美女| 国产AV无码一二三区视频| 精品亚洲一区二区在线播放 | 国内精品欧美久久精品| 女人被弄到高潮叫床免| 在线a视频| 久久99蜜桃精品麻豆| 97午夜理论片影院在线播放| 久久精品国产亚洲AV天美18| 亚洲伊人成综合人影院| 国模玲玲自拍337p| 中文字幕亚洲无线码在线| 久久精品美女| 亚洲日韩视频免费观看| 韩国无遮羞禁动漫在线观看96| 色屁屁影院| 激情综合色| 中国拍三a级的明星女| 精品国产在线亚洲欧美| aaa级黄影片| 日日噜噜夜夜爽爽| 赤兔CHINESE最新男18GUY| 日韩AV无码一区二区三区不卡毛片| YELLOW高清视频免费观看| 飘雪在线观看免费完整版| jizz非洲| 少妇高潮惨叫久久久久久电影| 精品视频网站| 成人影片下载网站| 网红主播 国产精品 开放90后| 大胸美女脱内衣黄网站| 樱桃熟了A级毛片| 邻家美姨在线观看全集免费| 最近的2019中文字幕国语完整版| 日韩a视频在线观看| 久久人妻熟女中文字幕AV蜜芽| 97午夜理论片影院在线播放| 亚洲国产在线午夜视频无| 久久国产免费| 国产精品久久久久久人妻香蕉 |