2014-09-24 152 views
1

我正在使用trustzone(ARM),並且與linux內存訪問不同,受信任的小程序無法訪問虛擬物理內存映射。它嚴格處理物理記憶。虛擬內存到物理內存

我將如何去從虛擬地址轉換爲物理地址?

+0

爲什麼你需要將虛擬翻譯成物理? – osgx 2014-09-24 21:09:53

+0

就像原來的文章所說,在trustzone中運行的代碼無法訪問虛擬物理內存映射。當調用trustzone時,CPU停止處理。允許在CPU上運行的唯一東西是受信任的applet。主機操作系統被逐字停止。所以,無法訪問映射。 – MarkP 2014-09-24 21:16:45

+0

哪個映射?每個用戶程序都有自己的映射,而不可信的內核擁有自己的映射。 – osgx 2014-09-24 23:41:54

回答

0

所以,如果我明白你不知道你的應用程序可以使用哪個存儲區,因爲它是從CPU中設置的虛擬地址空間分離的?

在我看來,你只有兩種選擇:

  • 不知怎麼告訴的內存(物理)段保留應用程序的操作系統。假設從0xfff0到0xffff
  • 帶映射的Page Table通常位於內存中內核的末尾。嘗試獲取該地址,並且可以搜索它以獲得免費的地址空間(內存塊)。