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

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

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

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

ATF里都包括哪些東西呢?

Linux閱碼場 ? 來源:代碼改變世界ctw ATF ? 作者:代碼改變世界ctw ? 2022-06-08 09:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者簡介

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

1、什么是ATF

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

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

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

最初的功能很簡單:

cpu_context的保存和恢復,即: 雙系統(tǒng)的切換

電源管理、PSCI等

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

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

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實現(xiàn)

預集成TBB與Arm CryptoCell產(chǎn)品,利用其硬件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)舉例

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

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

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

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

5、ATF參與的多系統(tǒng)交互模型

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

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

異常特權等級之間的跳轉模型都是通過同步異?;虍惒疆惓_M行的:

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

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

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

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

6、ATF如何處理業(yè)務邏輯的呢

那么ATF里都有哪些業(yè)務邏輯呢,如何區(qū)分和處理的呢?

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

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

審核編輯 :李倩

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

    關注

    19

    文章

    861

    瀏覽量

    49107
  • 代碼
    +關注

    關注

    30

    文章

    4900

    瀏覽量

    70685

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    可靠性測試包括哪些測試和設備?

    在當今競爭激烈的市場環(huán)境中,產(chǎn)品質量的可靠性成為了企業(yè)立足的根本。無論是電子產(chǎn)品、汽車零部件,還是智能家居設備,需要經(jīng)過嚴格的可靠性測試,以確保在各種復雜環(huán)境下都能穩(wěn)定運行,為用戶提供可靠的使用體驗。那么,可靠性測試究竟包括哪些內(nèi)容
    的頭像 發(fā)表于 06-03 10:52 ?323次閱讀
    可靠性測試<b class='flag-5'>包括</b>哪些測試和設備?

    電子紙標簽技術助力博物館綠色轉型

    電子紙標簽擁有類紙張的顯示效果,有效彌補傳統(tǒng)說明牌字體較小、信息承載有限的不足,專注于提升文博場景觀展便利性與友好度為目標。
    的頭像 發(fā)表于 05-30 10:34 ?432次閱讀

    DLP4710EVM I2C指令中的LED current數(shù)值和GUI的mA數(shù)是什么對應關系?

    1.能否編寫程序,燒錄光柵,然后利用SDK的函數(shù),設置光柵的投射時間,I2C命令是什么? 2.I2C指令中的LED current數(shù)值和GUI的mA數(shù)是什么對應關系?
    發(fā)表于 02-26 06:16

    ADS7864 0~5V在AD編碼是怎么表示的?

    ADS7864如果采用單端輸入,-IN端接內(nèi)部標準電壓2.5V,+IN端接0~5V模擬電壓,請問0~5V在AD編碼是怎么表示的?難道是0表示為0000H,5V表示為FFFFH嗎?
    發(fā)表于 01-14 08:02

    企業(yè)AI解決方案包括哪些內(nèi)容

    企業(yè)AI解決方案是一種集成了人工智能技術的綜合性方案,旨在提高企業(yè)運營效率、降低成本、優(yōu)化業(yè)務流程,并提升企業(yè)的整體競爭力。那么,企業(yè)AI解決方案包括哪些內(nèi)容?下面,AI部落小編帶您了解。
    的頭像 發(fā)表于 01-10 10:15 ?485次閱讀

    AFE4300 EVM-PDK測得的阻抗能否存到電腦的excel文件或者txt文件中?

    AFE4300 EVM-PDK測得的阻抗能否存到電腦的excel文件或者txt文件中?另外,AFE4300有6個電流輸出端口(Iout0~Iout5)和6個電壓測量端口(Vsense0~Vsense5),這些端口是否具體對應到人體的四肢
    發(fā)表于 12-30 06:11

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

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

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

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

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

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

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

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

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

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

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

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

    人員定位系統(tǒng)技術原理包括哪些方面?一篇弄懂

    如今人員定位系統(tǒng)已經(jīng)得到了廣泛的應用和發(fā)展,它為各行各業(yè)人員管理提供了全新的手段和方法,使得企業(yè)管理人員更加智能、高效和安全。那么人員定位系統(tǒng)技術原理包括哪些方面?我們一起來看一看。 人員定位系統(tǒng)
    的頭像 發(fā)表于 07-26 15:24 ?901次閱讀
    人員定位系統(tǒng)技術原理<b class='flag-5'>包括</b>哪些方面?一篇弄懂

    室內(nèi)導航 人員管理 信息推送應用多合一云E5定位信標

    置身大型綜合體建筑內(nèi),如何方便快速地到達目標位置?怎樣更便捷地接收有價值的信息?這些既是用戶經(jīng)常遇到的問題,同時也是室內(nèi)場所經(jīng)營者所面臨的困境。當傳統(tǒng)服務模式的弊端逐漸被放大,我們期待著更加貼心
    的頭像 發(fā)表于 07-25 09:58 ?500次閱讀
    室內(nèi)導航 人員管理 信息推送應用多合一云<b class='flag-5'>里</b>物<b class='flag-5'>里</b>E5定位信標