該項目最初由 Fabrice Bellard 創建,旨在允許為 x86 平台構建的 Linux 可執行文件在非 x86 架構上運行。 經過多年的發展,已經為 14 種硬件架構增加了完整的仿真支持,仿真的硬件設備數量超過 400 個。在準備 4.0 版本的過程中,3100 位開發人員進行了 220 多處更改。
鑰匙
- ARM架構模擬器中新增了對ARMv8+指令擴充的支援:SB、PredInv、HPD、LOR、FHM、AA32HPD、
PAuth、JSConv、CondM、FRINT 和 BTI。 增加了對模擬 Musca 和 MPS2 板的支援。 改良的 ARM PMU(電源管理單元)模擬。 前往平台道德 增加了使用超過 255 GB RAM 的能力,並支援「noload」類型的 u-boot 映像; - 在x86架構模擬器中的虛擬化加速引擎
哈克斯 (英特爾硬體加速執行)增加了對 POSIX 相容主機的支持,例如 Linux 和 NetBSD(之前僅支援 Darwin 平台)。 在主要 PCIe 連接埠的 Q35 晶片組模擬器(ICH9)中,現在可以選擇性地聲明 PCIe 16 規格中定義的最大速度(32GT/s)和連接線數(x4.02.5)(為了確保相容性,1GT 是對於舊類型的QEMU 機器/s 和xXNUMX) 預設安裝。 可以使用“-kernel”選項載入 Xen PVH 映像; - MIPS 架構模擬器使用經典的 TCG(Tiny Code Generator)程式碼產生器增加了對多執行緒模擬的支援。 還增加了對 CPU I7200 (nanoMIPS32 ISA) 和 I6500 (MIPS64R6 ISA) 模擬的支持,使用 QMP(QEMU 管理協定)處理 CPU 類型請求的能力,增加了對 SAARI 和 SAAR 配置暫存器的支援。 提升Fulong 2E類型虛擬機器的效能。 更新了線程間通訊單元的實作;
- 在PowerPC架構模擬器中,增加了對模擬XIVE中斷控制器的支持,擴展了對POWER9的支持,對於P系列,增加了熱插拔PCI主機橋接器(PHB,PCI主機橋接器)的能力。 預設啟用針對 Spectre 和 Meltdown 攻擊的防護;
- RISC-V 架構模擬器增加了對 PCI 和 USB 模擬的支援。 內建偵錯伺服器 (gdbserver) 現在支援在 XML 檔案中指定暫存器清單。 新增了對 mstatus 欄位 TSR、TW 和 TVM 的支援;
- s390架構模擬器增加了對z14 GA 2 CPU模型的支持,以及對浮點和向量運算的模擬指令擴展的支持。 vfio-ap 增加了熱插拔設備的能力;
- Tensilica Xtensa系列處理器模擬器改進了Linux的SMP支援,並增加了對FLIX(靈活長度指令擴展)的支援;
- 圖形介面中新增了「-display Spice-app」選項,用於配置和啟動 Spice 遠端存取用戶端的版本,其設計類似於 QEMU GTK 介面;
- 在 VNC 伺服器實作中新增了使用 tls-authz/sasl-authz 選項的存取控制的支援;
- QMP(QEMU 管理協定)增加了對集中式/外部(帶外)命令執行的支持,並實現了用於使用區塊設備的附加命令;
- VFIO 中已新增支援 mdev(Intel vGPU)的 EDID 介面實現,可讓您使用 xres 和 yres 選項來變更螢幕解析度;
- 為Xen新增了一個新的「xen-disk」設備,它可以獨立為Xen PV建立磁碟後端(無需存取xenstore)。 Xen PV磁碟後端的效能已提高,並添加了更改磁碟大小的功能;
- 網路塊設備中的診斷和追蹤功能得到了擴展,並且客戶端與有問題的 NBD 伺服器實現的兼容性也得到了改進。 為 qemu-nbd 新增了「--bitmap」、「--list」和「--tls-authz」選項;
- 為類比IDE/via設備增加了對PCI IDE模式的支援;
- 新增了對使用 lzfse 演算法壓縮 dmg 映像的支援。 對於qcow2格式,新增了對連接外部資料檔案的支援。 qcow2 解包操作被移至單獨的執行緒。 新增了對 vmdk 映像中「blockdev-create」操作的支援;
- virtio-blk 區塊設備新增了對 DISCARD(通知區塊釋放)和 WRITE_ZEROES(將一系列邏輯區塊清除)操作的支援;
- pvrdma設備支援RDMA管理資料封包服務(MAD);
- 已提交
變化 ,違反了向後相容性。 例如,您應該使用“local”或“proxy”選項,而不是“-fsdev”和“-virtfs”中的“handle”選項。 選項“-virtioconsole”(替換為“-device virtconsole”)、“-no-frame”、“-clock”、“-enable-hax”(替換為“-accel hax”)已被刪除。 刪除了裝置“ivshmem”(應使用“ivshmem-doorbell”和“ivshmem-plain”)。 對使用 SDL1.2 進行建置的支援已停止(您需要使用 SDL2)。
來源: opennet.ru