系统极客一直在努力
专注操作系统及软件使用技能

QEMU 9.2 发布:强化 RISC-V 支持并扩展机器类型

QEMU

开源虚拟化软件 QEMU 9.2 正式发布,带来了多项重要增强功能,同时也对部分过时特性进行了清理。

QEMU 9.2 主要更新

这次更新为 QEMU 的未来发展奠定了更清晰的基础,并增强了对新硬件特性的支持。(某些调整可能需要更新现有配置)

清理与优化

  • 移除了多个已弃用功能:
    • PXA2xx 机器的rotateportrait 选项。
    • 9pfs 的旧式「代理」后端及virtfs-proxy-helper程序。
    • 「secret」和「tlscreds」对象中无实际作用的「loaded」属性。
  • 标记为即将弃用的功能:
    • query-migrationthreads命令。
    • 块设备的 gluster 后端。
    • 字符和网络设备的「reconnect」选项。

硬件支持增强

  • Arm 架构改进
    • 新增 FEAT_EBF16 和 FEAT_CMOW CPU 特性。
    • sbsa-ref 和 virt 板卡支持双阶段 SMMU 内存管理。
    • 移除部分过时机器类型,如 akita 和 borzoi。
  • RISC-V 重要进展
    • 支持将 vl 设置为 ceil(AVL/2)。
    • F 扩展日志新增 fcsr 寄存器支持。
    • KVM 环境下支持高级中断架构(AIA)。
    • 新增 IOMMU 和控制流完整性(CFI)扩展试验性支持。
  • x86 平台更新
    • 推出「nitro-enclave」机器类型,支持 AWS Nitro Enclave 环境模拟。
    • KVM 支持 AVX10 指令集,包括 avx10-128、avx10-256 等版本。

功能增强

  • 图形性能提升:通过 venus 封装增强 virtio-gpu 的 Vulkan 性能。
  • 内存管理优化:virtio-mem 支持 x86-64 平台的挂起/恢复功能。
  • macOS 支持:在 macOS 15+ 系统上,hvf 加速器支持更大内存地址空间。

开发相关

  • 引入试验性 Rust 支持:通过-enable-rust选项开启。
  • 构建要求升级:需要 Meson 1.5.0+ 版本。
  • 测试框架改进:引入 pycotap 模块,逐步替代 Avocado 框架。

更多详细信息,请访问官方的 QEMU 9.2 发布公告变更日志


QEMU 9.1 主要更新

  • 虚拟机迁移优化:引入了 Intel 的内存分析加速器 (IAA) 和用户空间加速器开发套件 (UADK),大幅提升了虚拟机实时迁移的效率。同时,对 Postcopy 故障恢复机制进行了改进,进一步提高了迁移过程的稳定性。
  • Virtio 功能增强:更新了对VIRTIO_F_NOTIFICATION_DATA的支持,允许客户驱动程序在传递设备通知时携带额外数据,特别有助于性能调试和优化
  • Guest Agent 命令更新:为 Linux 和 Windows 用户分别新增了guest-network-get-routeguest-ssh-*网络管理命令,进一步增强了命令行界面 (CLI) 的支持。用户可以更精细地配置命令的允许与阻止,提升控制与安全性。
  • 安全性和 ARM 架构改进:修复了 QEMU NBD 服务器的多个安全漏洞,强化了 NBD 的 TLS 加密。同时,ARM 架构新增了多项仿真特性支持,包括嵌套页表的支持,并改进了对多个 CPU 和外设的支持。
  • 跨架构支持扩展:LoongArch 架构现在支持从 ELF 内核直接启动,并可运行多达 256 个 vCPU,调试功能也得到了增强。RISC-V 架构则支持了新的扩展,整体性能有所提升,进一步加强了 QEMU 的仿真能力。
  • x86 架构支持增强:支持在 KVM 上运行 AMD SEV-SNP 客户机,并增加了对最新 Intel 和 AMD 处理器的仿真支持。

QEMU 9.0 主要更新

  • 多队列支持:为 virtio-blk 引入了多队列支持,允许通过不同的 I/O 线程来处理单一硬盘的多个数据队列,提升了处理效率。
  • 内存预分配优化:在特定场景下,可以利用多线程技术来预分配内存后端,进一步提高了效率。
  • 新增映射内存功能:新增的映射内存(Mapped-RAM)特性让虚拟机快照的创建变得更加高效。
  • VFIO 功能增强:VFIO 支持检查点重启,并增强了零页检测(Zero-Page Detection)功能。

对于 RISC-V 架构,QEMU 9.0 新增了对多种 ISA/扩展的支持,包括 Zacas、amocas、RVA22 等。并为 RISC-V 虚拟机增加了 SMBIOS 支持,以及对 SRAT、SLIT、AIA 和 PLIC 的 ACPI 支持,并更新了 RHCT 表的支持。

在 ARM 架构方面,QEMU 9.0 新增了对 B-L475E-IOT01A IoT 节点、mp3-an536(MPS3 开发板 + AN536 固件)和 raspi4b(Raspberry Pi 4 Model B)的支持。同时,为 Freescale i.MX6、Allwinner R40、Banana Pi、npcm7xxx 和 virt 板提供了更全面的 IO、磁盘、USB、SPI、网卡和定时器支持,并增加了对 ECV(增强计数器虚拟化)、NV(嵌套虚拟化)和 NV2(增强嵌套虚拟化)架构特性的支持。

LoongArch 架构在 QEMU 9.0 中获得了 KVM 加速功能,包括对 LSX/LASX 向量扩展的支持。同时,HPPA 架构的 SeaBIOS-hppa 固件升级至 16 版本,新增了对 CVDG、CVB、CVBY 和 CVBG 指令的仿真支持,并提升了 s390x 架构的 LAE(扩展加载地址)仿真性能。

此外,在 gdbstub 方面,QEMU 9.0 也进行了多项改进,包括支持在用户模式下监测系统调用(Syscalls),支持进程分叉跟踪模式(Fork-Follow Modes),以及增强了对信号信息读取Siginfo:Read)的支持。

赞(2) 赞赏

评论 抢沙发

微信赞赏