The Qemu development team has recently presented the release of their latest project, Qemu 9.0. Qemu serves as an emulator that enables users to run a program designed for one hardware platform on a system with a different architecture. This allows for executing ARM on an X86-compatible PC, for example. In virtualization mode, Qemu can provide performance similar to the hardware system by directly implementing instructions on the CPU and utilizing the Xen hypervisor or the KVM module.
Originally created by Fabrice Bellard, the project was intended to enable the execution of X86 Linux executable files on non-X86 architectures. Over the years, Qemu has expanded its support to encompass emulation for 14 hardware architectures and over 400 hardware devices. The latest version, 9.0, saw more than 2,700 changes from 220 developers during its development process.
Among the key improvements in Qemu 9.0 are:
- Virtio-BLK, which introduces a virtual block device for virtual machines and incorporates support for a multi-level queue system to enable multi-flow access on multi-core systems.
- Addition of properties to the USB-Storage block, including ‘Backend_defaults,’ ‘Logical_block_size,’ ‘Physical_block_Size,’ ‘Min_IO_SIZE,’ ‘OPT_IO_SIZE,’ and ‘Discard_GRANELARITITS.’
- Enhancements to the GDBSTUB library, enabling remote debugging in GDB using the RSP protocol and supporting features such as FORK-Follow mode and interception of system calls in user space.
- Adaptation of preallocation preliminary distribution backends for multi-threaded operations, allowing them to process requests from multiple flows simultaneously.
- Introduction of Mapped-Ram mode for VM migration, improving the efficiency of creating VM snapshots. Updates to basic memory page definition have significantly accelerated the migration of inactive VMs, especially with Multifd support.
- Rewriting of the ESP SCSI device (AM53C974/DC390) implementation.
- Inclusion of support for the encryption algorithm SM4.