4 月 26 日消息,开源虚拟化仿真器 QEMU 11.0 本周三正式发布,此次更新涵盖广泛变化,涉及所有主要架构及代码库中的大量优化。QEMU 11.0 的主要亮点包括:
弃用过时的 i440FX 与 Q35。
小型代码生成器(Tiny Code Generator,TCG)在 LoongArch 架构上支持更多指令,例如SC.Q、LLACQ / SCREL 以及近似倒数指令。
RISC-V 架构新增对 ZALASR 扩展、Zilsd 与 Zclsd 扩展以及 Smpmpmt 扩展的支持。
新增对 MIPS P8700 CPU 的支持。
x86 端新增 Intel Xeon Diamond Rapids CPU 模型。
新增“nitro”加速器,可与新的 nitro 机型配合使用,在 QEMU 下原生支持 AWS Nitro Enclaves。
KVM 后端支持控制流强制技术(CET)虚拟化。
使用 KVM 的 AMD SEV-SNP 与 Intel TDX 虚拟机现在支持重置操作。
VirtIO-GPU 支持处理原生上下文驱动。

QEMU 11.0 还移除了多个老旧 Arm 开发板(如 ast2700a0-evb)以及 pc-i440fx-2.6/2.7 与 pc-q35-2.6/2.7 等 x86 机型。
在迁移命令方面,11.0 移除了无效的“zero-blocks”选项和已忽略的“detach”参数,并删除了信息有限的“query-migrationthreads”命令。同时,弃用了对旧 OABI ABI(包括 NWFPE 仿真)运行二进制文件的能力。
在架构特性方面,Arm 模拟新增 FEAT_ASID2 与 FEAT_E2H0,支持 SMMU v3 IOMMU 硬件加速,Windows WHPX 加速器现已在 Arm“virt”板上可用。LoongArch 的 KVM 支持 PMU 迁移。
QEMU 11.0 在 x86 领域引入了新的“nitro”加速器与 nitro 机器,可原生运行 Nitro Enclaves。KVM 支持 CET 虚拟化,SEV-ES 终止请求现在会报告为客户机 panic 事件,SEV-SNP 与 TDX 机器支持重置。此外,virtio-gpu 现已支持原生上下文驱动,每个输出可独立指定分辨率。
在宿主机支持方面,QEMU 项目宣布放弃对所有 32 位宿主机系统的支持,因为维持 32 位宿主机支持的负担过大。内存预分配线程数从 16 提升至 32 以改善启动性能。
迁移方面,11.0 新增“failing”状态,表示迁移过程中发生错误且正在清理;COLO 现已支持 multifd。
块设备方面,NFS 块驱动增加了对 libnfs v6 的支持,curl 块驱动新增“force-range”选项,FUSE 块导出不再同步处理请求并支持多 iothread。qemu-img create 为 qcow2 新增“keep_data_file”选项。
用户模式仿真方面,11.0 新增 termios2 支持,更新了 statx () 系统调用,修复了 futex () 及 mmap () 相关问题。TCG 测试新增 TCG_TEST_FILTER 过滤机制。