在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

ATF里都包括哪些東西呢?

Linux閱碼場 ? 來源:代碼改變世界ctw ATF ? 作者:代碼改變世界ctw ? 2022-06-08 09:56 ? 次閱讀

作者簡介

baron,九年手機安全/SOC底層安全開發經驗。擅長trustzone/tee安全產品的設計和開發。是國內較早一批做TEE的,對商用TEE、開源TEE研究也比較深入,對未來的安全架構/安全趨勢也有著明確的看法...

1、什么是ATF

首先什么是TF-A(ATF)?ATF就是一個固件, 一段代碼,一個為armv7-A/armv8-A/armv9-A提供的參考實現代碼。(注意,這只是參考實現,你也可以不用ATF,用自己寫的一個固件。)

b06f37a4-e6c0-11ec-ba43-dac502259ad0.png

2、那么ATF里都包括哪些東西呢?

最初的功能很簡單:

cpu_context的保存和恢復,即: 雙系統的切換

電源管理、PSCI等

但是隨著技術的發展,功能也越來越多,越來越復雜,以下列舉了當前的部分功能:

安全世界的初始化,例如異常向量表、一些控制寄存器和中斷寄存器

CPU reset和power down的時序。包括Arm DynamIQ cpu的支持

標準的system IP的驅動,例如Generic Interrupt Controller (GIC), Cache Coherent Interconnect (CCI), Cache Coherent Network (CCN), Network Interconnect (NIC) and TrustZone Controller (TZC).

一種通用的SCMI驅動程序, 適用于電源控制接口,例如ARM SYSTEM Control Processor(SCP)

smc處理,using an EL3 runtime services framework

PSCI庫的支持,用于CPU/Cluster/system的電源管理,這個庫集成到了aarch64 el3的runtime中,也適用于aarch32 el3

secure monitor代碼,用于world切換、中斷routing

SPDs for the OP-TEE Secure OS, NVIDIA Trusted Little Kernel and Trusty Secure OS

SecureBoot實現

預集成TBB與Arm CryptoCell產品,利用其硬件Root的信任和加密加速服務。

3、ATF定義的啟動模型

ATF將鏡像進行了劃分,BL1 BL2屬于啟動引導鏡像,BL3屬于runtime鏡像。BL3又分為BL31 BL32 BL33對應的分別是ATF Runtime、REE Runtime、TEE Runtime。

(注:本文是Quick Start,不深入解釋這些概念,請自行理解:BL1 BL2 BL31 BL32 BL33的概念、EL3 S-EL1 NS-EL1的概念)

b0ae77de-e6c0-11ec-ba43-dac502259ad0.png

4、ATF的rt_svc介紹(runtime service)

b0de612e-e6c0-11ec-ba43-dac502259ad0.png

4.1、SPD(opteed)舉例

例如負責雙系統切換的SPD,它是 OEN_TOS的RT-Service,它負責啟動TEE和雙系統切換。

b10927a6-e6c0-11ec-ba43-dac502259ad0.png

補充雙系統切換時寄存器的保存和恢復模型( switchcpu_context模型)

b12ec0ba-e6c0-11ec-ba43-dac502259ad0.png

5、ATF參與的多系統交互模型

特權等級、security State之間的交互模型,ATF是一段跑在EL3特權等級的代碼。如下是一個特權等級、security State之間的切換模型,可以看出所有的交互和跳轉都是通過異常向量表進行的。

b15ad8d0-e6c0-11ec-ba43-dac502259ad0.png

異常特權等級之間的跳轉模型都是通過同步異常或異步異常進行的:

b178a37e-e6c0-11ec-ba43-dac502259ad0.png

進入ATF的方式觸發異常:同步異常(不限于smc)、異步異常(irq,fiq,serror)

? 如果是同步異常,那么會判斷是不是smc調用觸發的同步異常,如果是則進入跳轉ATF中異常向量表中的同步異常程序smchandler64或smchandler32 在該程序中,解析smc id,來選擇跳轉到具體哪一個rt-svc(runtime service)

? 如果是異步異常,那么一定是觸發了irq或fiq或serror中斷等,此時進入跳轉ATF中異常向量表中的異步異常程序,進而跳轉到響應的中斷處理函數。

6、ATF如何處理業務邏輯的呢

那么ATF里都有哪些業務邏輯呢,如何區分和處理的呢?

當有異常進來后,進行一些判斷,如您是同步異常還是異步異常? 如果是異步異常,那么你是 dosomething 還是 轉發中斷 ?如果是同步異常,那么你是 dosomething,還是執行 RT-Service?

b1c34230-e6c0-11ec-ba43-dac502259ad0.png

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 驅動程序
    +關注

    關注

    19

    文章

    846

    瀏覽量

    48149
  • 代碼
    +關注

    關注

    30

    文章

    4818

    瀏覽量

    68874

原文標題:ATF快速掃盲(Quick Start)

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    折疊屏2024的新東西、好東西、舊東西

    折疊屏2024的新東西、好東西、舊東西
    的頭像 發表于 12-21 16:05 ?3026次閱讀
    折疊屏2024的新<b class='flag-5'>東西</b>、好<b class='flag-5'>東西</b>、舊<b class='flag-5'>東西</b>

    FDC2114手冊說的shield和gnd是具體連擊到哪里

    請問手冊說的shield和gnd是具體連擊到哪里?有點搞不明白,做了測試感覺沒效果啊!
    發表于 12-16 08:03

    LMX2820DBLR_CAL_EN和INSTCAL_DBLR_EN如果不使用即時校準是否需要打開

    您好,關于DBLR_CAL_EN和INSTCAL_DBLR_EN如果不使用即時校準是否需要打開?我看到手冊DBLR_CAL_EN的默認值是1,INSTCAL_DBLR_EN的默認值是0,而
    發表于 11-11 07:11

    INA111BP的Offset Voltage的TYP欄“+-100+-500/G”(uV)表示什么意思

    數據手冊“Offset Voltage”不太會看。例如 INA111BP的 Offset Voltage的TYP欄“+-100+-500/G”(uV)表示什么意思?望專家前輩指教指教哦
    發表于 09-23 07:02

    INA118U的封裝是什么?另外紅色框的是什么東西

    我想問問INA118U的封裝是什么?另外紅色框的是什么東西
    發表于 09-20 13:47

    多封裝的運放芯片,沒有使用的運放管腳怎么處理

    如題,一個芯片中封裝了多個運放,沒有使用的運放管腳怎么處理
    發表于 09-18 08:11

    在ESP32使用esp-idf框架該如何獲取系統上電時間

    ESP8266面可以通過 esp_get_time()函數 獲取系統上電時間, 在 ESP32 使用 esp-idf 框架 該如何獲取系統上電時間? 謝謝
    發表于 06-19 07:13

    電源模塊是什么東西

    電源模塊是什么東西 電源模塊是一種電子設備,用于將輸入的電能轉換為所需的電壓和電流,以滿足各種電子設備和系統的需求。電源模塊的設計和制造涉及到多個領域,包括電力電子、控制理論、熱設計、電磁兼容性等
    的頭像 發表于 06-10 16:20 ?1940次閱讀

    如何燒錄程序進入自己畫的CYW20829板

    Hi,請問如何燒錄程序進入自己畫的CYW20829板?可以使用20829EVK的J11來實現么?或者有沒有其它的燒錄工具
    發表于 05-28 07:01

    晶振的誤差是怎么回事?如何有效控制晶振誤差的出現?

    不是所有的東西都完美無瑕疵,就像電子產品都會出現一定的誤差一個道理。今天小編將要說的就是晶振誤差的相關問題,晶振的誤差是怎么回事
    的頭像 發表于 05-09 14:33 ?1073次閱讀

    智慧教室建設內容包括哪些?探索教育的未來

    的重要手段。那么,廣凌智慧教室建設內容包括哪些方面?本文將對此進行詳細探討。廣凌智慧教室建設內容包括高效的信息技術設施。這是智慧教室最基本的配置,
    的頭像 發表于 02-23 18:41 ?476次閱讀
    智慧教室建設內容<b class='flag-5'>包括</b>哪些?探索教育的未來

    請問core2的程序可以直接使用core1的全局變量嗎?

    如題,core2的程序可以直接使用core1的全局變量嗎?就是不同核之前可以直接通信嗎?是否還需要配置一些東西才能實現核間通信?
    發表于 02-20 08:05

    請問GTM模塊的ATOM和TOM有什么區別

    如題,GTM模塊的ATOM和TOM有什么區別
    發表于 02-06 06:35

    扼流圈是什么東西呀?作用

    扼流圈是一種電感器,通常由線圈纏繞在磁芯上構成。它在電子設備和電路中起著重要的作用,能夠阻止高頻交流電流的通過,同時允許低頻率的交變電流和直流電流通過。
    的頭像 發表于 01-30 10:35 ?6267次閱讀

    USB字符串描述符里面的序列號字符串到底是什么東西

    在設備描述符里面,有一個表示序列號字符串描述符的編號,請問這個序列號字符串的描述符是什么東西? 廠商字符串和設備字符串都能理解,而且在電腦的“設備與打印機”里面找到了。但請問這個序列號字符串有什么用
    發表于 01-24 08:06
    主站蜘蛛池模板: 亚洲国产成人久久精品影视| 欧美黄色免费大片| 精品一区二区三区免费爱| 2020欧美极品hd18| 天天色播| 欧洲亚洲国产精华液| 精品亚洲大全| 天天射天天射天天干| 国产成人在线网址| 成人三级视频| 午夜视频在线看| 免费看美女毛片| 五月天色丁香| 日本a级特黄三级三级三级| 欧美成人性高清观看| 狠狠干2015| 欧美系列在线| 女a男0攻巨肉高h| 亚洲三级黄色| 色操网| 黄色大片网| 黄色片视频网| 18视频免费网址在线观看| 天天插天天插天天插| 天天在线精品视频在线观看| 日本在线一本| h国产在线| h在线免费视频| 国产三级观看久久| www色在线| 天堂成人网| 五月天丁香色| 欧美一区二区三区黄色| 国模大胆一区二区三区| 国产特黄一级片| 精品国产三级a∨在线| 成年大片免费播放视频人| www亚洲免费| 久久久久久夜精品精品免费| 一区视频在线播放| 婷婷激情六月|