Release of the QEMU 6.2 emulator

The release of the QEMU 6.2 project is presented. As an emulator, QEMU allows you to run a program built for one hardware platform on a system with a completely different architecture, for example, run an ARM application on an x86-compatible PC. In the virtualization mode in QEMU, the performance of code execution in an isolated environment is close to a hardware system due to the direct execution of instructions on the CPU and the use of the Xen hypervisor or KVM module.

The project was originally created by Fabrice Bellard to allow Linux executables built for the x86 platform to run on non-x86 architectures. Over the years of development, full emulation support has been added for 14 hardware architectures, the number of emulated hardware devices has exceeded 400. In preparation for version 6.2, more than 2300 changes have been made from 189 developers.

Key improvements added in QEMU 6.2:

  • The virtio-mem mechanism, which allows you to hot-plug and unplug memory to virtual machines, has been added full support for guest memory dumps, copy operations before and after environment migration (pre-copy / post-copy) and creating guest system snapshots in the background.
  • QMP (QEMU Machine Protocol) implements handling of DEVICE_UNPLUG_GUEST_ERROR errors that occur on the guest side in case of failures during hardware hot plug operations.
  • The syntax of loading arguments processed in plugins for the classic TCG (Tiny Code Generator) code generator has been extended. Support for multi-core systems has been added to the "cache" plugin.
  • The x86 emulator supports the Intel Snowridge-v4 CPU model. Added support for accessing Intel SGX (Software Guard eXtensions) enclaves from guest systems using the /dev/sgx_vepc device on the host side and the "memory-backend-epc" backend in QEMU. For guest systems protected using AMD SEV (Secure Encrypted Virtualization) technology, the possibility of verifiable direct (without using a bootloader) kernel launch has been added (enabled by setting the 'kernel-hashes=on' parameter to 'sev-guest').
  • The ARM emulator on host systems with an Apple Silicon chip implements support for the "hvf" hardware acceleration mechanism when running guests based on the AArch64 architecture. Added support for Fujitsu A64FX processor model emulation. A new type of emulated machines "kudo-mbc" has been implemented. Added support for ITS (Interrupt Translation Service) emulation for 'virt' machines and the ability to use more than 123 CPUs in emulation mode. Added support for BBRAM and eFUSE devices for emulated machines "xlnx-zcu102" and "xlnx-versal-virt". For systems based on the Cortex-M55 chip, support for the mobile profile of MVE processor extensions is provided.
  • Initial support for the POWER10 DD2.0 CPU model has been added to the PowerPC architecture emulator. Support for POWER10 architecture has been improved for 'powernv' emulated machines, and FORM2 PAPR NUMA descriptions have been added for 'pseries' machines.
  • Added support for Zb[abcs] instruction set extensions to the RISC-V architecture emulator. All emulated machines are allowed to use the "host-user" and "numa mem" options. Added support for SiFive PWM (Pulse-width modulator).
  • The 68k emulator improves support for Apple's proposed NuBus, including the ability to load ROM images and support for interrupt slots.
  • The qemu-nbd block device has write caching enabled by default ("writeback" instead of "writethrough") to match the behavior of qemu-img. Added "--selinux-label" option to label SELinux Unix sockets.

Source: opennet.ru

Add a comment