QEMU 7.2 模擬器發布

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

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

QEMU 7.2 添加的主要改進:

  • 經典TCG代碼生成器中的x86模擬器增加了對AVX、AVX2、F16C、FMA3和VAES指令的支持,以及與SSE指令使用相關的性能優化。 對於 KVM,添加了對跟踪虛擬機退出(“通知 vmexit”)機制的支持,該機制允許您繞過 CPU 中可能導致掛起的錯誤。
  • ARM 仿真器支持Cortex-A35 CPU 和處理器擴展ETS(增強翻譯同步)、PMUv3p5(PMU 擴展3.5)、GTG(Guest Translation Granule 4KB、16KB、64KB)、HAFDBS(訪問標誌和“臟”狀態的硬件控制)和 E0PD(防止 EL0 訪問分區地址映射)。
  • LoongArch模擬器增加了對fw_cfg DMA、熱插拔內存和TPM(可信平台模塊)設備模擬的支持。
  • OpenRISC 架構仿真器實現了用於測試設備並在持續集成系統中使用它們的“虛擬”平台。 經典的TCG(Tiny Code Generator)代碼生成器已經實現了對多線程執行的支持。
  • “虛擬”仿真機中的 RISC-V 架構仿真器能夠在 S 模式下從 pflash 加載固件。 改進了設備樹的工作。
  • 390x 仿真器支持 MSA5(帶有用於生成偽隨機數的 PRNO 指令的消息安全輔助擴展 5)、KIMD/KLM 指令(SHA-512 的實現)以及基於 KVM 管理程序的客戶系統的擴展 zPCI 解釋。
  • 考慮到 NUMA 架構,使用內存的後端提供內存預分配。
  • 加強了 LUKS 加密塊設備的標頭檢查,並添加了在 macOS 上創建 LUKS 映像的功能。
  • 9pfs 後端允許使用 Plan 9 網絡文件系統將一台虛擬機訪問到另一台虛擬機,現在改用標識符表中的 GHashTable 哈希,這在某些情況下導致性能提高 6-12 倍。
  • 添加了新的 netdev 後端流和 dgram。
  • FreeBSD 支持已添加到基於 ARM 的來賓的代理中。
  • macOS 的 GUI 構建提供了在一個可執行文件中包含基於 Cocoa 和 SDL/GTK 的界面的能力。
  • 內置子模塊“slirp”已被刪除,建議使用libslirp系統庫。
  • 由於缺乏測試能力,對具有使用 Big Endian 字節順序的 32 位 MIPS 處理器的主機系統的支持已被棄用。

來源: opennet.ru

添加評論