HVM的調試方法

概述
HVM的調試必須平衡兩個因素:

  • 虛擬設備上,簡單與高效程序執行調試的開發需求
  • 虛擬設備上,安全與隔離的操作要求

簡單與高速程序執行的執行開發需求
在調試過程中,快速的調試與監測數據平臺至關重要。對於並行程序來說,這種情況尤爲突出。在進行串行程序的開發時,簡單的數據跟蹤與調試可通過單步跟蹤進行簡單的錯誤修改。在並行程序中,由於互斥與內存共享的存在,開發與調試變得不那麼輕鬆。高速並行程序的調試對於調試者的個人協調能力與現場恢復能力有重要的聯繫

HVM的開發調試要求調試平臺能夠在多種模式下進行跟蹤與重現,並最大化的簡化程序員的調試流程。

安全與隔離的操作要求
調試過程中,安全與隔離的操作可以爲程序提供安全的訪問服務。這個過程需要調試平臺能夠監控所有的地址範圍,包括虛擬地址與物理地址。

HVM的隔離與安全調試技巧爲所需的調試流程提供了所有的訪問權限保障,確保訪問越界或權限出現衝突時能夠快速對錯誤進行判斷以及界定權限範圍

用戶模式的程序調試
用戶模式程序可以通過訪客模式的特性來進行調試。舉例如下:

  • 內存引用產生的頁錯誤
  • 爲斷點插入trap0指令以及單步執行操作

訪客模式下的程序調試
VMM可使用Hexagon處理器的監控模式機制來調試用戶模式下的代碼。這些相同的處理器級別機制可以用於訪客模式程序的調試。

標註:HVM的實現可任意決定VMM是否從操作通訊口接受調試命令(如串口或者JTAG口),或者VMM是否爲受信任的代理設備提供API,從而從通訊口以及VMM調試API功能中轉換操作者/宿主調試器命令

無論何時,在一個調試的受信任系統中,一個不受信任的VMM或者操作者調試代理無法產生受信任的load與store循環(直接或間接)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章