release of the project is . As an emulator, QEMU allows you to run a program compiled for one hardware platform on a system with a completely different architecture, for example, to run an application for ARM on an x86-compatible PC. In virtualization mode in QEMU, the performance of code execution in an isolated environment is close to the hardware system due to the direct execution of instructions on the CPU and the use of the Xen hypervisor or the KVM module.
The project was originally created by Fabrice Bellard to enable x86-built Linux binaries to run on non-x86 architectures. Over the years, support for full emulation has been added for 14 hardware architectures, the number of emulated hardware devices has exceeded 400. In the preparation of version 6.2, more than 2300 changes were made from 189 developers.
Keyadded in QEMU 6.2:
- The virtio-mem mechanism, which allows you to hot plug and unplug memory to virtual machines, adds full support for guest memory dumps, copy operations before and after environment migration (pre-copy / post-copy) and creating snapshots of the guest system 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 hot-plugging operations.
- Expanded the syntax of boot arguments processed in plugins for the classic TCG (Tiny Code Generator) code generator. Added support for multi-core systems to the “cache” plugin.
- The x86 architecture emulator supports the Intel Snowridge-v4 CPU model. Added support for accessing Intel SGX (Software Guard eXtensions) enclaves from guests 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 ability to verify 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 Apple Silicon host systems supports the “hvf” hardware acceleration mechanism when launching AArch64-based guest systems. Added support for emulating the Fujitsu A64FX processor model. A new type of emulated machines “kudo-mbc” has been implemented. For machines ‘virt’ added support for ITS (Interrupt Translation Service) emulation and the ability to use more than 123 CPUs in emulation mode. For emulated machines “xlnx-zcu102” and “xlnx-versal-virt” added support for BBRAM devices and eFUSE. For systems based on the Cortex-M55 chip, support is provided for the mobile profile of MVE processor extensions.
- Initial support for the CPU POWER10 DD2.0 model has been added to the PowerPC architecture emulator. POWER10 architecture support 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. The “host-user” and “numa mem” options are allowed for all emulated machines. Added support for (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 mode enabled by default (“writeback” instead of “writethrough”) to match the qemu-img behavior. Added “–selinux-label” option to label SELinux Unix sockets.