QEMU 4.0 模拟器发布

形成 项目发布 QEMU 4.0。 作为一个模拟器,QEMU 允许您在具有完全不同架构的系统上运行为一个硬件平台编译的程序,例如,在兼容 x86 的 PC 上运行 ARM 应用程序。 在 QEMU 的虚拟化模式下,由于直接在 CPU 上执行指令并使用 Xen hypervisor 或 KVM 模块,隔离环境中代码执行的性能接近于本机系统。

该项目最初由 Fabrice Bellard 创建,旨在允许为 x86 平台构建的 Linux 可执行文件在非 x86 架构上运行。 经过多年的发展,已经为14种硬件架构增加了完整的仿真支持,仿真的硬件设备数量已超过400个。为准备4.0版本,3100位开发人员进行了220多次更改。

钥匙 改进QEMU 4.0 中添加:

  • 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.0)(为了确保兼容性,2.5GT 是对于旧类型的 QEMU 机器 /s 和 x1) 默认安装。 可以使用“-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

添加评论