日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

optee的RPC设计(模型)详解

發布時間:2025/3/21 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 optee的RPC设计(模型)详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

快速鏈接:
.
👉👉👉 個人博客筆記導讀目錄(全部) 👈👈👈

文章目錄

        • 1、REE和TEE正向調用/反向調用的流程圖
        • 2、REE到TEE的正向調用
        • 3、TEE到REE的反向調用


1、REE和TEE正向調用/反向調用的流程圖

開機之后,啟動tee-supplicant后,執行: a b

  • 一次完整的TEE調用流程: 1 2 3 4 5
  • 一次完整的RPC流程 : 6 7 b 8 c 2
  • 一次完整的TEE調用流程(在TEE中又調用了RPC): 1 2 3 4 5 6 7 b 8 c 2 3 4 5

2、REE到TEE的正向調用

  • ① APP調用CA,CA調用libteec.so,libteec.so調用/dev/tee0節點,進入驅動的ioctl函數
  • ② ioctl函數中調用optee_do_call_with_arg(),該函數調用smc將CPU通過ATF切換到了optee
  • ③④ optee處理完任務后,調用smc通過ATF返回到驅動中的ioctl(返回到②中剛才切出去的地方)
  • ⑤ ioctl返回到應用程序

3、TEE到REE的反向調用

  • ⑥ optee中調用thread_rpc_cmd函數,然后調用到smc通過ATF將cpu切回linux(回到之前切TEE的點,也就是optee_do_call_with_arg()函數中)
  • ⑦ optee_do_call_with_arg()函數中判斷,如果是RPC命令切回來的,則走RPC流程,也就是complete(&reqs_c)
  • b ⑧ 之前的tee-supplicant進程一直卡在optee_supp_recv()中,等待完成量,在步驟⑦完成量釋放,程序繼續往下執行,返回到tee-supplicant
  • c tee-supplicant讀取到TEE返回的命令后,解析命令,然后進行相應的處理(相應的處理可能是userspace中完成,也可能再通過ioctl到驅動中完成),干完活之后再調用ioctl,調用complete(&req->c)通知optee_do_call_with_arg()程序,再切回TEE
  • ② optee_do_call_with_arg()程序,切回TEE

總結

以上是生活随笔為你收集整理的optee的RPC设计(模型)详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。