QEMU 6.0 模擬器發布

介紹了 QEMU 6.0 項目的發布。 作為模擬器,QEMU 允許您在具有完全不同體系結構的系統上運行為一個硬件平台構建的程序,例如,在兼容 x86 的 PC 上運行 ARM 應用程序。 在QEMU的虛擬化模式下,由於直接在CPU上執行指令,並使用了Xen hypervisor或KVM模塊,代碼在隔離環境下的執行性能接近於硬件系統。

該項目最初由 Fabrice Bellard 創建,旨在允許為 x86 平台構建的 Linux 可執行文件在非 x86 架構上運行。 經過多年的發展,已經為 14 種硬件架構增加了完整的仿真支持,仿真的硬件設備數量超過 400 個。在準備 6.0 版本的過程中,3300 位開發人員進行了 268 多處更改。

QEMU 6.0 添加的主要改進:

  • NVMe 控制器模擬器符合 NVMe 1.4 規範,並配備了對分割命名空間、多路徑 I/O 和磁碟機上端對端資料加密的實驗性支援。
  • 新增了實驗選項“-machine x-remote”和“-device x-pci-proxy-dev”,以將裝置模擬移至外部進程。在此模式下,目前僅支援 lsi53c895 SCSI 轉接器的模擬。
  • 新增了對創建 RAM 內容快照的實驗性支援。
  • 新增了用於匯出區塊裝置的 FUSE 模組,可讓您掛載來賓系統中使用的任何區塊裝置的狀態切片。導出是透過 QMP 命令 block-export-add 或透過 qemu-storage-daemon 實用程式中的「--export」選項執行的。
  • ARM 模擬器增加了對 ARMv8.1-M「Helium」架構和 Cortex-M55 處理器以及擴展 ARMv8.4 TTST、SEL2 和 DIT 指令的支援。還增加了對 ARM 板 mps3-an524 和 mps3-an547 的支援。已針對 xlnx-zynqmp、xlnx-versal、sbsa-ref、npcm7xx 和 sabrelite 板實現了其他設備模擬。
  • 對於ARM,在系統和用戶環境層級的模擬模式下,已經實現了對ARMv8.5 MTE(MemTag,記憶體標記擴展)擴展的支持,它允許您為每個記憶體分配操作綁定標籤,並在以下情況下組織指標檢查:存取內存,它必須與正確的標籤相關聯。此擴充功能可用於阻止由於存取已釋放的記憶體區塊、緩衝區溢位、初始化先前的存取以及在當前上下文之外使用而導致的漏洞利用。
  • 68k 架構模擬器增加了對新型模擬器「virt」的支持,它使用 virtio 設備來優化效能。
  • x86 模擬器增加了使用 AMD SEV-ES(安全加密虛擬化)技術來加密來賓系統中使用的處理器暫存器的功能,使主機環境無法存取暫存器的內容,除非來賓系統明確授予對它們的存取權限。
  • 經典的TCG(Tiny Code Generator)代碼產生器在模擬x86系統時,實現了對PKS(Protection Keys Supervisor)機制的支持,可用於保護對特權記憶體頁面的存取。
  • MIPS架構模擬器中新增了新型模擬機“virt”,支援國產龍芯3處理器。
  • 在用於仿真機「powernv」的PowerPC架構模擬器中,新增了對外部BMC控制器的支援。對於模擬的 pseries 計算機,在嘗試熱移除記憶體和 CPU 時會提供失敗通知。
  • 增加了對使用 DSP 模擬 Qualcomm Hexagon 處理器的支援。
  • 經典的 TCG(Tiny Code Generator)程式碼產生器支援採用全新 Apple M1 ARM 晶片的系統上的 macOS 主機環境。
  • 適用於 Microchip PolarFire 板的 RISC-V 架構模擬器支援 QSPI NOR 快閃記憶體。
  • Tricore 模擬器現在支援新的 TriBoard 板模型,該模型可模擬 Infineon TC27x SoC。
  • ACPI 模擬器能夠為來賓系統中的網路介面卡指派名稱,這些名稱與它們連接到 PCI 匯流排的順序無關。
  • virtiofs 增加了對 FUSE_KILLPRIV_V2 選項的支持,以提高客戶機效能。
  • VNC 增加了對遊標透明度的支持,並支援根據視窗大小在 virtio-vga 中縮放螢幕解析度。
  • QMP(QEMU 機器協定)在執行備份任務時新增了對非同步並行存取的支援。
  • USB 模擬器新增了將使用 USB 裝置時產生的流量儲存到單獨的 pcap 檔案中的功能,以便隨後在 Wireshark 中進行檢查。
  • 新增了新的 QMP 指令 load-snapshot、save-snapshot 和 delete-snapshot 來管理 qcow2 快照。
  • 漏洞 CVE-2020-35517 和 CVE-2021-20263 已在 virtiofs 中修復。第一個問題允許特權使用者在與主機環境共享的目錄中在客戶系統中建立特殊的設備文件,從而允許從客戶系統存取主機環境。第二個問題是由「xattrmap」選項中擴充屬性處理中的錯誤引起的,可能會導致寫入權限被忽略以及來賓系統內的權限升級。

來源: opennet.ru

添加評論