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

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

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

3天內不再提示

安全驅動如何添加系統服務

麥辣雞腿堡 ? 來源:TrustZone ? 作者:TrustZone ? 2023-10-30 16:12 ? 次閱讀

添加系統服務

系統服務的添加不是必需的,為方便對底層驅動的管理和對外部設備的擴展,可將安全驅動的接口接入到某個系統服務中,通過系統服務向外界暴露調用接口,以便上層TA可以使用該安全驅動。

在本示例中建立的系統服務的源代碼為tee_test.c文件,需將該文件保存到optee_os/core/tee目錄中,同時將tee_test.h文件保存到optee_os/core/include/tee目錄中,然后修改optee_os/core/tee目錄中的sub.mk文件,添加“srcs-y += tee_test.c”,將tee_test.c集成到編譯系統中。

也可使用宏來控制該系統服務的編譯,其實現方法與上一節相同。

在tee_test.c文件中使用service_init宏來定義該系統服務的初始化函數(tee_test_init),該初始化函數將會被編譯到OP-TEE的初始化段中,OP-TEE啟動時將會執行服務段中包含的函數,調用tee_test_init函數初始化該系統服務。

到這里明白了driver_init和service_init的差異。一個是直接注冊驅動的系統調用,一個注冊到系統服務。

3.4 添加系統調用

上層的TA運行于OP-TEE的用戶空間,如果上層的TA需要調用安全驅動,則需通過調用系統調用接口的方式來調用安全驅動提供的操作接口。

若要在TA中使用本示例中的安全驅動,則還需在OP-TEE中增加該驅動對應的系統調用。包括用戶空間接口的定義和內核空間接口的定義,關于OP-TEE中系統調用的實現原理可參閱第16章。(小的馬上后面補上)

圖片

1.用戶空間代碼的修改

修改optee_os/lib/libutee/arch/arm/utee_syscalls_asm.S文件,添加如下內容:

UTEE_SYSCALL utee_testDriver_write, TEE_SCN_TESTDRIVER_WRITE,3
        UTEE_SYSCALL utee_testDriver_read, TEE_SCN_TESTDRIVER_READ,3
        UTEE_SYSCALL utee_testDriver_dump, TEE_SCN_TESTDRIVER_DUMP,2

utee_testDriver_xxx是在TA中調用該驅動時使用的函數,

TEE_SCN_TESTDRIVER_XXX是該系統調用對應的索引值。

上層TA調用utee_testDriver_xxx函數后會進入OP-TEE的內核空間,系統通過查找TEE_SCN_TESTDRIVER_XXX對應的接口來找到該功能在OP-TEE內核中的實現。

最后的數字表示調用該接口時需要代入的參數的個數。

修改optee_os/lib/libutee/include/utee_syscalls.h文件,添加如下內容,申明上述三個函數接口。在TA的源代碼中包含該頭文件后就可調用這三個接口來對該安全驅動進行調用。

TEE_Result utee_testDriver_write(void*buf,size_t blen,size_t offset);
        TEE_Result utee_testDriver_read(void*buf,size_t blen,size_t offset);
        TEE_Result utee_testDriver_dump(void*buf,size_t blen);

修改optee_os/lib/libutee/include/tee_syscall_numbers.h文件,添加上述三個系統調用接口的索引值,并修改TEE_SCN_MAX的值,需要修改和添加的內容如下:

#define TEE_SCN_TESTDRIVER_WRITE              71
#define TEE_SCN_TESTDRIVER_READ           72
#define TEE_SCN_TESTDRIVER_DUMP           73
#define TEE_SCN_MAX                73

2.內核空間代碼的修改

修改optee_os/core/arch/arm/tee/arch_svc.c文件中系統調用數組變量tee_svc_syscall_table的內容,將上述系統調用對應的內核層接口添加到該數組中,并包含申明這三個接口的頭文件,在該文件中添加的內容如下:

SYSCALL_ENTRY(syscall_testDriver_write),
        SYSCALL_ENTRY(syscall_testDriver_read),
        SYSCALL_ENTRY(syscall_testDriver_dump),
#includetee/tee_test.h >

上述三個函數的具體實現在tee_test.c文件中,讀者可自行查閱這三個接口函數的實現。

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

    關注

    12

    文章

    1845

    瀏覽量

    85417
  • 設備
    +關注

    關注

    2

    文章

    4530

    瀏覽量

    70761
  • 代碼
    +關注

    關注

    30

    文章

    4808

    瀏覽量

    68816
  • 系統
    +關注

    關注

    1

    文章

    1018

    瀏覽量

    21384
收藏 人收藏

    評論

    相關推薦

    [分享]windows 2003服務安全設置方法

    系統危險文件的訪問權限,只留管理組成員。  此篇文章獻給對服務安全和個人PC安全方面有需要的朋友。  詳細文章轉自:  http
    發表于 12-14 10:20

    基于短消息的移動安全通信系統

    針對目前移動公網中短信系統存在的不安全因素,提出了一種安全短消息通信系統。然后基于實時主動防護與管控的安全角度,介紹了
    發表于 05-06 09:04

    租用服務器后如何進行服務安全防護

    基石,對網站的后續維護和發展起到重要作用,我們在租用服務器之后,如何做好安全防護也成為重中之重。河南耀磊商務總結了6點服務器在安裝操作系統完畢之后需要做的
    發表于 08-16 11:27

    如何最大限度地提升自助服務設備的安全性?

    隨著市場對消費者自動化服務及自動零售的需求不斷提升,選擇正確的安全解決方案對自助服務設計來說極為關鍵。合適的電子門禁解決方案可為自身服務應用提供安全
    發表于 09-24 06:10

    交通安全統籌系統

    156開-1335-心3228自2019年以來公司成立交通安全統籌系統研發專項項目組,兩年來, 不斷對系統,數據集合,流轉等甚至對交通安全增值服務
    發表于 10-28 14:04

    車輛安全統籌信息系統

    156開-1335-心3228自2019年以來公司成立交通安全統籌系統研發專項項目組,兩年來, 不斷對系統,數據集合,流轉等甚至對交通安全增值服務
    發表于 10-28 14:06

    有什么方法可以在Android 8.1中添加一個系統服務

    有什么方法可以在Android 8.1中添加一個系統服務呢?
    發表于 02-14 08:01

    嵌入式Linux的USB驅動添加及應用

    驅動程序添加是嵌入式Linux開發的關鍵技術之一。本文主要分析為MCF5272 添加USB驅動程序的詳細過程, 簡述UFTP 協議(USB 文件傳輸協議), 并給出一個文件傳輸的應用示
    發表于 04-15 11:58 ?12次下載

    如何添加NandFlash驅動

    這個文檔簡單介紹了如何在 H-FLASHER 中添加NAND FLASH 驅動。基于這個文檔,用戶可以根據 自己的實際需求修改已有的NAND FLASH 驅動程序,或添加新的NAND
    發表于 04-01 10:21 ?0次下載

    本體驅動的IT服務管理系統模型研究_孫少雄

    本體驅動的IT服務管理系統模型研究_孫少雄
    發表于 03-19 11:28 ?0次下載

    分析微軟在云服務添加的新安全特性

    Office365和Azure云服務將很快會推出新的安全服務和特性,并且報表能力也將加強。 微軟正在為Office365和Azure云服務增加一系列新的
    發表于 10-12 17:21 ?0次下載

    添加或刪除windows系統服務管理工具

    添加或刪除windows系統服務
    發表于 03-27 14:13 ?0次下載

    使用系統服務和器件驅動器的遷移步驟介紹

    在本培訓模塊中,我們將帶您了解將使用系統服務和器件驅動器1.0 API的VisualDSP++? Blackfin項目遷移到CrossCore? Embedded Studio及系統
    的頭像 發表于 05-21 06:19 ?1945次閱讀
    使用<b class='flag-5'>系統</b><b class='flag-5'>服務</b>和器件<b class='flag-5'>驅動</b>器的遷移步驟介紹

    F1C100S添加USB驅動

    F1C100S添加USB驅動
    的頭像 發表于 02-15 14:58 ?2275次閱讀
    F1C100S<b class='flag-5'>添加</b>USB<b class='flag-5'>驅動</b>

    labview怎么添加設備驅動

    添加設備驅動是使用LabVIEW進行設備控制和數據采集的關鍵步驟之一。本文將向您介紹如何在LabVIEW中添加設備驅動程序。 在開始之前,您需要明確了解所要
    的頭像 發表于 01-02 16:10 ?2480次閱讀
    主站蜘蛛池模板: 99综合色| 天天做天天摸天天爽天天爱| 日本免费a级片| 午夜寂寞影| 成人a一级毛片免费看| ts人妖在线观看| 午夜视频在线观看一区| 天天干天天操天天拍| 人人干人人舔| 波多野结衣在线观看一区| ts人妖国产一区| 午夜剧场刺激性爽免费视频| 天天干天天爽天天射| 又长又大又粗又硬3p免费视| 亚洲精品视频免费| 青草久操| 欧美成人鲁丝片在线观看| 加勒比精品视频| 欧美色惰aⅴ| 97人人做人人添人人爱| 亚洲男人天堂岛| 视频在线观看一区| 中文字幕日本一区波多野不卡| 天天色影视综合网| 来吧成人综合网| 久久亚洲综合中文字幕| 成人免费精品视频| 色片免费网站| 久操免费视频| 尤物蜜芽福利国产污在线观看| 在线观看网址你懂得| 日本高清视频成人网www| 国产成人精品亚洲日本在线| 失禁h啪肉尿出来高h受| 免费操人视频| 国产精品福利在线观看免费不卡| h小视频在线观看| 日本级毛片免费观看| 亚洲成人黄色网址| 开心六月婷婷| 失禁h啪肉尿出来高h健身房|