该项目最初由 Fabrice Bellard 创建,旨在允许为 x86 平台构建的 Linux 可执行文件在非 x86 架构上运行。 经过多年的发展,已经为14种硬件架构增加了完整的仿真支持,仿真的硬件设备数量已超过400个。为准备5.1版本,2500位开发人员进行了235多次更改。
钥匙
- 添加了对基于架构的CPU仿真的支持
AVR 。 已实现对 Arduino Duemilanove (ATmega168)、Arduino Mega 2560 (ATmega2560) 板的支持。
Arduino Mega (ATmega1280) 和 Arduino UNO (ATmega328P)。 - ARM 架构仿真器添加了热拔出内存的功能,以及为具有 ACPI 的客户系统提供热插拔 nvdimm 内存的功能。 实现了对 ARMv8.2 扩展的支持
TTS2UXN иARMv8.5 内存标签 。 已提供对 sonorapass-bmc 板的支持。 - MIPS架构仿真器增加了对龙芯3A CPU(R1和R4)的支持。 改进了 FPU 和 MSA 指令仿真的性能。
- RISC-V 架构模拟器中添加了对 SiFive E34 和 Ibex CPU 的支持。 已实现对 HiFive1 revB 和 OpenTitan 板的支持。 秒杀机器提供对多个CPU的支持。
- PowerPC 架构模拟器现在支持使用 FWNMI 来宾系统中的错误恢复。
- 对于s390架构,增加了KVM支持以实现安全虚拟化(安全执行模式)。
- x86 架构模拟器通过提供 Windows ACPI 模拟设备表 (WAET) 来减少虚拟化未适应的 Windows 来宾的开销。 改进的加速支持
超高频 对于 macOS。 - 块设备驱动程序现在支持逻辑和物理块大小为 2MB 的虚拟存储设备。
- 添加了使用新的“秘密密钥环”类型的对象通过 Linux 内核密钥环将密码和加密密钥传输到 QEMU 的功能。
- qcow2 格式现在支持 zstd 压缩算法。
- qemu-img 实用程序中添加了新的“位图”命令,用于操作 qcow2 文件中的持久位图。 qemu-img 还实现 LUKS 密钥管理(键槽),并为“map”(--start-offset、-max-length)和“convert”(-bitmaps)命令提供附加功能;“measure”命令现在显示信息关于 qcow2 文件中持久位图的大小。
- NVMe 驱动程序现在支持 NVMe 1.4 规范中引入的持久内存区域。
- 在带有经典TCG(Tiny Code Generator)代码生成器的virtio for guest systems中,实现了使用进程的能力
虚拟主机用户 ,包括 virtiofsd。 VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS 扩展已添加到 vhost-user,允许您注册超过 8 个 RAM 插槽。
来源: opennet.ru