那曲檬骨新材料有限公司

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

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

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

ATF里都包括哪些東西呢?

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

作者簡介

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

1、什么是ATF

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

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

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

最初的功能很簡單:

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

電源管理、PSCI等

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

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

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

標(biāo)準(zhǔn)的system IP的驅(qū)動,例如Generic Interrupt Controller (GIC), Cache Coherent Interconnect (CCI), Cache Coherent Network (CCN), Network Interconnect (NIC) and TrustZone Controller (TZC).

一種通用的SCMI驅(qū)動程序, 適用于電源控制接口,例如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實(shí)現(xiàn)

預(yù)集成TBB與Arm CryptoCell產(chǎn)品,利用其硬件Root的信任和加密加速服務(wù)。

3、ATF定義的啟動模型

ATF將鏡像進(jìn)行了劃分,BL1 BL2屬于啟動引導(dǎo)鏡像,BL3屬于runtime鏡像。BL3又分為BL31 BL32 BL33對應(yīng)的分別是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)舉例

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

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

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

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

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

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

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

異常特權(quán)等級之間的跳轉(zhuǎn)模型都是通過同步異常或異步異常進(jìn)行的:

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

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

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

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

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

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

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

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

審核編輯 :李倩

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

    關(guān)注

    19

    文章

    848

    瀏覽量

    48219
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4828

    瀏覽量

    69058

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

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

收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

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

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

    LMX2820DBLR_CAL_EN和INSTCAL_DBLR_EN如果不使用即時校準(zhǔn)是否需要打開

    您好,關(guān)于DBLR_CAL_EN和INSTCAL_DBLR_EN如果不使用即時校準(zhǔn)是否需要打開?我看到手冊DBLR_CAL_EN的默認(rèn)值是1,INSTCAL_DBLR_EN的默認(rèn)值是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

    多封裝的運(yùn)放芯片,沒有使用的運(yùn)放管腳怎么處理

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

    2024 MWC上海,展了哪些新東西

    移動世界大會上海站(2024MWC上海)已經(jīng)落下帷幕。在這場中國最大的通信產(chǎn)業(yè)盛會上,整個產(chǎn)業(yè)鏈的翹楚在此齊聚,最新理念、方案和產(chǎn)品在此精彩紛呈。從上圖可以看出,國內(nèi)的運(yùn)營商和設(shè)備商悉數(shù)參加,諾基亞和愛立信仍舊缺席。這可能是因?yàn)閷τ谒麄儊碚f,中國市場的占比實(shí)在有限,并且離巴塞羅那移動世界大會(2024MWC巴塞羅那)也僅過去了三個月,余韻尚未散去。不論是運(yùn)營
    的頭像 發(fā)表于 07-03 08:05 ?99次閱讀
    2024 MWC上海,<b class='flag-5'>都</b>展了哪些新<b class='flag-5'>東西</b>?

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

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

    電源模塊是什么東西

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

    如何燒錄程序進(jìn)入自己畫的CYW20829板

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

    晶振的誤差是怎么回事?如何有效控制晶振誤差的出現(xiàn)?

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

    fpga要學(xué)哪些東西

    學(xué)習(xí)FPGA需要掌握一系列的知識和技能,主要包括以下幾個方面。
    的頭像 發(fā)表于 03-27 14:40 ?1160次閱讀

    智慧教室建設(shè)內(nèi)容包括哪些?探索教育的未來

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

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

    如題,core2的程序可以直接使用core1的全局變量嗎?就是不同核之前可以直接通信嗎?是否還需要配置一些東西才能實(shí)現(xiàn)核間通信?
    發(fā)表于 02-20 08:05
    大发888娱乐场东南网| 申请百家乐官网会员送彩金| 百家乐境外赌博| 大发888支付宝代充| 百家乐官网赚钱方| 大发888游戏技巧| 超级百家乐官网2龙虎斗| 华侨人百家乐的玩法技巧和规则 | 娱乐城开户免存送现金| 大三元百家乐官网的玩法技巧和规则 | 百家乐赌场玩法技巧| 迪威百家乐官网现场| 百家乐庄闲赢负表| 哈尔滨百家乐官网赌场| 百家乐真人娱乐场开户注册| 太阳城百家乐官网试玩优惠| 皇马百家乐的玩法技巧和规则 | 灵丘县| 百家乐机器出千| 百家乐官网投注程式| 老虎机价格| 金钱豹百家乐官网的玩法技巧和规则 | 爱赢百家乐官网开户送现金| 真人百家乐体验金| 如何玩百家乐官网的玩法技巧和规则| 巴登娱乐城真人娱乐| 澳门百家乐打法精华| 百家乐官网视频连连看| 百家乐图形的秘密破解| 单机百家乐官网小游戏| 久盛国际娱乐城| 优博百家乐yobo88| 百家乐官网下对子的概率| 威尼斯人娱乐城官方网址| 百家乐官网游戏开户网址| 遵化市| 全讯网首页| 24分金| 百家乐官网多少点数算赢| 百家乐真人现场| 百家乐官网筹码套装100片|