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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

optee堆Virtualization(hypervisor)的支持

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

1、一些概念的介紹

optee提供虛擬化的支持, 可以在多個VMs上的optee os上跑TAs. 一個VM不能影響到另外一個VM;

啟用虛擬化支持之后,optee將依賴hypervisor,因為只有hypervisor才知道當前使用哪個VM的optee.
hypervisor負責創建和銷毀VMs,而且在大多數場景下, hypervisor會開機two-state MMU,所有VMs看到的不是真實的物理地址,二十IPA(intermediate physical addresses)。
也就說optee只能完成VA到IPA的轉換,而IPA到PA的轉換需要到hypervisor中完成.

因此,hypervisor應該包含一個了解OP-TEE協議內部內容并能夠進行轉換的組件。我們將該組件稱為"TEE mediator",目前只有XEN hypervisor擁有optee的TEE mediator。

打開CFG_VIRTUALIZATION后,optee將支持虛擬化,當然了這時需要有一個兼容的hypervisor組件,optee才能正常工作;

CFG_VIRT_GUEST_COUNT決定當前支持VMS的最大個數,安全內存就這么一點點,支持的VMs越多,那么每個guest os的可用內存就會越少

2、optee適配hypervisor需要做哪些事情

  • 創建optee VMs時,hypervisor需要調用OPTEE_SMC_VM_CREATED smc通知optee,其中a1參數是該guest os的VM ID
  • 當optee VMs銷毀時,hypervisor要發送OPTEE_SMC_VM_DESTROYED smc到optee中,確保沒有正在運行的線程.
  • 每一次到optee中的smc,都會跟上a7參數. 如果是hypervisor調用optee,該參數是HYP_CLNT_ID; 如果是optee返回hypervisor,該參數是VMs ID
  • Hypervisor應該為所有SMCs執行IPA<->PA地址轉換。這包括a1-a6寄存器和內存中的命令緩沖區中的兩個參數
  • Hypervisor應該鎖定VM與OP-TEE共享的內存頁。這意味著,hypervisor應該確保固定的頁面將駐留在原始PA上,只要它與OP-TEE共享。而且它應該仍然屬于共享它的VM。例如,hypervisor不應該交換此頁面、將所有權轉移到另一個VM、從VM地址空間取消映射等等。
  • hypervisor應該正確地處理OP-TEE協議,因此對于任何VM來說,它看起來都應該是直接使用OP-TEE的。

總結

以上是生活随笔為你收集整理的optee堆Virtualization(hypervisor)的支持的全部內容,希望文章能夠幫你解決所遇到的問題。

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