QEMU项目是一个通用的仿真器,可以在不同的硬件平台上无缝执行程序,它刚刚发布了最新的版本QEMU 8.2。这一版本标志着一个重要的里程碑,它引入了关键的改进和功能,承诺增强各种体系结构的用户体验。
QEMU最初由Fabrice Bellard构思,以支持在非x86架构上执行为x86平台编译的Linux可执行文件,现已成长为支持14种硬件架构和400多个仿真硬件设备的强大功能。在8.2版的开发过程中,238名开发人员协作完成了3200多项更改,强调了开放源码社区的活力和协作性质。
QEMU 8.2中的主要改进
Virtio-Sound设备
一个值得注意的补充是Virtio-Sound设备,它可以模拟声卡,以便在来宾系统中录制和播放声音。此增强功能支持主机系统上的多个音频后端(例如PulseAudio、SDL或核心音频)。要在Linux内核中使用此功能,用户需要为来宾启用CONFIG_SND_VIRTIO选项。
虚拟图形接口(rutabaga)与Virtio-GPU
QEMU 8.2引入了一个名为rutabaga的虚拟图形界面(VGI),实现了一个虚拟GPU(virtio-gpu)。这一创新允许用户在客户机系统中利用虚拟GPU进行3D渲染,而无需直接访问物理GPU。在Android/CrosVM项目中开发的rutabaga为以前可用的VirGL提供了一个引人注目的替代方案。
用于Hyper-V的高压气球装置
该版本包括hv气球设备,实现了针对Hyper-V的动态内存协议。此功能允许QEMU在操作期间将未使用的内存页返回到主机系统,并在内存不足的情况下请求额外的内存页。它是Windows来宾系统的Virtio-Ball的可行替代方案,它利用了一个支持主机端动态内存协议的后端。
通用闪存设备
QEMU 8.2建议模拟闪存驱动器,从而增强了用户可用存储选项的多功能性。
NBD驱动程序增强功能
网络块设备(NBD)驱动程序现在支持在操作大型数据时利用64位偏移量的协议扩展,从而有助于提高性能。
其他值得注意的新增内容:
- 支持使用新的UFS和UFS-lu设备进行UFS仿真。
- VFIO(虚拟功能I/O)增强,包括P2P迁移模式和动态MSI-X分发。
- Virtio-mem设备,实现“动态内存槽=开”模式,以实现高效的内存分配。
架构模拟器更新
- X86架构:
- 基于KVM的Xen管理程序环境支持PV控制台和网络设备。
- 针对数据块和网络设备的简化命令。
- 传统的TCG代码生成器现在支持SHA指令。
- ARM架构:
- 仿真Cortex-A710和Neoverse-N2CPU。
- 支持Xilinx Versal板的各种处理器扩展和设备。
- RISC-V架构:
- 矢量密码指令。
- 支持虚拟IRQ、IRQ过滤和Zicond扩展。
- 通过KVM实现的AIA(高级虚拟化架构)虚拟化扩展。
- HPPA架构:
- 64位PA-RISC 2.0 CPU和C3700系统的仿真。
- LoongArch架构:
- 仿真龙芯LA132 CPU,支持LASX指令集扩展和PRELDX指令。
- S390x架构:
- 增加了对vfio-ap的支持,为受保护的访客系统转发加密适配器。
- Tricore仿真器:
- 支持TC37x处理器(ISA 1.6.2)和其他指令。
总之,QEMU8.2引入了许多特性和改进,以增强性能并扩展支持的体系结构和设备的范围。
通过发布公告