我使用Linaro在Juno板r1上提供的Trusted Firmware Image(LSK和Android文件系統)。就我而言,我只想在EL3中進行一些簡單的測試,例如讀取特定的內存。爲了使事情更容易,我沒有做任何事情,直到系統完全啓動。然後我加載一個發送SMC指令的內核模塊,SMC異常將在BL3-1中由自定義處理程序處理。在處理程序中,我禁用了EL3的MMU,並試圖直接訪問物理地址。但是我發現如果物理地址大於0xffffffff(4G),我得到的內容將全部爲0.低於0xffffffff的物理地址完美工作。如果我將該物理地址映射到小於0xffffffff的虛擬地址(Linaro的EL3僅支持低於0xffffffff的虛擬地址),它也可以工作。 那麼,爲什麼我在EL3禁用MMU之後無法獲得大於0xffffffff的物理地址的正確內容?如何在juno板上訪問Linaro提供的Trusted固件中大於4G的物理地址
有沒有人知道細節? 非常感謝您的幫助!
非常感謝。這樣可行。我還有一個關於內存映射的問題。我不認爲禁用MMU是訪問某些物理內存的完美想法,因此我試圖動態地將一些內存映射區域添加到轉換表中。但不幸的是,我沒有得到一個正確的方法來做到這一點。你知道當我在EL3中時是否可以動態地將一些內存映射區域添加到翻譯表中? –