在 Zynq MPSoC 上運行 DOOM 游戲
設備性能與安全
本文引用地址:http://cafeforensic.com/article/201608/294978.htm一般來說,與通過直通方式提供的設備相比,仿真的設備性能比較低;半虛擬化方案則趨向于具備足夠性能。半虛擬化方案和仿真方案的優(yōu)勢在于管理程序可以讓設備訪問多個實體,而不會將這些實體相互暴露。
原理簡介
Doom-on-Zynq UltraScale+ MPSoC 的處理上下文環(huán)境就像洋蔥一樣有很多層(圖 6)。Cortex-A53 中是四個 ARMv8 內(nèi)核。在每個內(nèi)核上,管理程序運行在 EL2 中,客戶機(Dom0 或 DomU)運行在 EL0/EL1 中。每個 DomU 客戶機都運行 Linux;Doom (PrBoom) 運行在用戶空間中。Doom 使用簡單直接媒體層 (SDL),通過 SVC 指令(最終)與幀緩沖器前端驅(qū)動對話。幀緩沖器前端將緩沖器寫入 Dom0 建立的共享存儲器區(qū)域。前端驅(qū)動通過協(xié)議(例如 Xen Bus 或 VirtIO)使用 HVC 指令(最終)與 Dom0 上運行的虛擬化代碼通信。在 Dom0 上運行的虛擬化代碼提供一個用于顯示的后端,然后該后端由虛擬化代碼的 VNC 服務器進行編碼,并通過網(wǎng)絡送到 VNC 客戶端。
圖6:X86 架構上從 PetaLinux 工具啟動 QEMU
此信息和演示能夠為管理程序的進一步研究和實驗提供很好的基礎。當你能夠在 QEMU 上用仿真來運行演示之后,就可使用 PetaLinux 工具在 Zynq UltraScale+ MPSoC 芯片上運行。
評論