QEMU 6.0 模拟器发布

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

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

QEMU 6.0 添加的主要改进:

  • NVMe 控制器模拟器符合 NVMe 1.4 规范,并配备了对分区命名空间、多路径 I/O 和驱动器上端到端数据加密的实验性支持。
  • 添加了实验选项“-machine x-remote”和“-device x-pci-proxy-dev”,以将设备模拟移动到外部进程。 在此模式下,当前仅支持 lsi53c895 SCSI 适配器的仿真。
  • 添加了对创建 RAM 内容快照的实验性支持。
  • 添加了用于导出块设备的 FUSE 模块,允许您挂载来宾系统中使用的任何块设备的状态切片。 导出是通过 QMP 命令 block-export-add 或通过 qemu-storage-daemon 实用程序中的“--export”选项执行的。
  • ARM 模拟器增加了对 ARMv8.1-M“Helium”架构和 Cortex-M55 处理器以及扩展 ARMv8.4 TTST、SEL2 和 DIT 指令的支持。 还添加了对 ARM 板 mps3-an524 和 mps3-an547 的支持。 已针对 xlnx-zynqmp、xlnx-versal、sbsa-ref、npcm7xx 和 sabrelite 板实现了其他设备仿真。
  • 对于ARM,在系统和用户环境级别的仿真模式下,已经实现了对ARMv8.5 MTE(MemTag,内存标记扩展)扩展的支持,它允许您为每个内存分配操作绑定标签,并在以下情况下组织指针检查:访问内存,它必须与正确的标签相关联。 该扩展可用于阻止由于访问已释放的内存块、缓冲区溢出、初始化之前的访问以及在当前上下文之外使用而导致的漏洞利用。
  • 68k 架构模拟器增加了对新型模拟机“virt”的支持,它使用 virtio 设备来优化性能。
  • x86 模拟器增加了使用 AMD SEV-ES(安全加密虚拟化)技术来加密来宾系统中使用的处理器寄存器的功能,使主机环境无法访问寄存器的内容,除非来宾系统明确授予对它们的访问权限。
  • 经典的TCG(Tiny Code Generator)代码生成器在模拟x86系统时,实现了对PKS(Protection Keys Supervisor)机制的支持,可用于保护对特权内存页面的访问。
  • MIPS架构仿真器中添加了新型仿真机“virt”,支持国产龙芯3处理器。
  • 在用于仿真机“powernv”的PowerPC架构仿真器中,添加了对外部BMC控制器的支持。 对于模拟的 pseries 计算机,在尝试热移除内存和 CPU 时会提供失败通知。
  • 添加了对使用 DSP 模拟 Qualcomm Hexagon 处理器的支持。
  • 经典的 TCG(Tiny Code Generator)代码生成器支持采用全新 Apple M1 ARM 芯片的系统上的 macOS 主机环境。
  • 适用于 Microchip PolarFire 板的 RISC-V 架构仿真器支持 QSPI NOR 闪存。
  • Tricore 仿真器现在支持新的 TriBoard 板模型,该模型可仿真 Infineon TC27x SoC。
  • ACPI 仿真器能够为来宾系统中的网络适配器分配名称,这些名称与它们连接到 PCI 总线的顺序无关。
  • virtiofs 添加了对 FUSE_KILLPRIV_V2 选项的支持,以提高客户机性能。
  • VNC 添加了对光标透明度的支持,并支持根据窗口大小在 virtio-vga 中缩放屏幕分辨率。
  • QMP(QEMU 机器协议)在执行备份任务时添加了对异步并行访问的支持。
  • USB 模拟器添加了将使用 USB 设备时生成的流量保存到单独的 pcap 文件中的功能,以便随后在 Wireshark 中进行检查。
  • 添加了新的 QMP 命令 load-snapshot、save-snapshot 和 delete-snapshot 来管理 qcow2 快照。
  • 漏洞 CVE-2020-35517 和 CVE-2021-20263 已在 virtiofs 中修复。 第一个问题允许特权用户在与主机环境共享的目录中在客户系统中创建特殊的设备文件,从而允许从客户系统访问主机环境。 第二个问题是由“xattrmap”选项中扩展属性处理中的错误引起的,可能会导致写入权限被忽略以及来宾系统内的权限升级。

来源: opennet.ru

添加评论