Qemu is a machine emulator that can run operating systems and programs for one machine on a different machine. Mostly it is not used as emulator but as virtualizer in collaboration with KVM kernel components. In that case it utilizes the virtualization technology of the hardware to virtualize guests.
QEMU can run independently, but due to the emulation being performed entirely in software it is extremely slow. To overcome this, QEMU allows you to use KVM as an accelerator so that the physical CPU virtualization extensions can be used.
QEMU 6.0.0 highlights
Almost a year has passed since the release of QEMU 5.0. The new QEMU 6.0.0 contains 3300+ commits from 268 authors. This release includes a lot of new emulations.
If you look at the changes in the individual hardware architectures, you’ll notice the new features in ARM and RISC-V. The ARM emulation now supports ARMv8.1M “Helium” and Cortex-M55 CPUs, as well as ARMv8.4-TTST, ARMv8.4-SEL2, FEAT_SSBS, ARMv8.4-DIT and ARMv8.5-MemTag.
Other improvements
- virtiofs: performance improvements with new USE_KILLPRIV_V2 guest feature
- VNC: virtio-vga support for scaling resolution based on client window size
- 68k: new ‘virt’ machine type based on virtio devices
- ARM: support for new mps3-an524, mps3-an547 board models
- ARM: additional device emulation support for xlnx-zynqmp, xlnx-versal, sbsa-ref, npcm7xx, and sabrelite board models
- Hexagon: new emulation support for Qualcomm hexagon DSP units
- MIPS: new Loongson-3 โvirtโ machine type
- PowerPC: external BMC support for powernv machine type
- PowerPC: pseries machines now report memory unplug failures to management tools, as well as retrying unsuccessful CPU unplug requests
- RISC-V: Microchip PolarFire board now supports QSPI NOR flash
- Tricore: support for new TriBoard board model emulating Infineon TC27x SoC
- x86: AMD SEV-ES support for running guests with secured CPU register state
- x86: TCG emulation support for protection keys (PKS)
- ACPI: support for assigning NICs to known names in guest OS independently of PCI slot placement
- NVMe: new emulation support for v1.4 spec with many new features, experimental support for Zoned Namespaces, multipath I/O, and End-to-End Data Protection.
- QMP: backup jobs now support multiple asynchronous requests in parallel
Changes and possible incompatibilities between QEMU 6.0.0 and the previous version 5.2 are documented in the changelog. The QEMU 6.0.0 source code is available for download on the project page.