QEMU 9.0 Released with Raspberry Pi 4 Support, LoongArch KVM Acceleration

This release also adds new emulation features for the RISC-V, HPPA, and s390x architectures.
QEMU 8.1

The open-source QEMU 9.0 machine emulator and virtualization software has been released as a major update that brings various new features and improvements for ARM, RISC-V, LoongArch, s390x, and HPPA emulation.

Highlights of QEMU 9.0 include multi-queue support for the virtio-blk block driver allowing different queues of a single disk to be processed by different I/O threads, the ability to concurrently handle preallocation of memory backends using multiple threads in some cases, and support for the “mapped-ram” capability allowing for more efficient virtual machine snapshots, checkpoint-restart support for VFIO, and improved support for zero-page detection.

For RISC-V, QEMU 9.0 adds ISA/extension support for Zacas, amocas, RVA22 profiles, Zaamo, Zalrsc, Ztso, and others, as well as SMBIOS support for RISC-V virt machine, ACPI support for SRAT, SLIT, AIA, and PLIC, and updated RHCT table support.

For ARM, there’s board support for B-L475E-IOT01A IoT node, mp3-an536 (MPS3 dev board + AN536 firmware), and raspi4b (Raspberry Pi 4 Model B). However, the devs note the fact that QEMU does not yet model PCI or Ethernet for Raspberry Pi 4 Model B, which will be added in a future release, but said that Raspberry Pi boards now support the SPI and BSC i2c controllers.

ARM support also gained additional IO/disk/USB/SPI/ethernet controller and timer support for Freescale i.MX6, Allwinner R40, Banana Pi, npcm7xxx, and virt boards, as well as architectural feature support for ECV (Enhanced Counter Virtualization), NV (Nested Virtualization), and NV2 (Enhanced Nested Virtualization).

On top of that, QEMU 9.0 introduces KVM acceleration support for the LoongArch architecture, including LSX/LASX vector extensions, updates the SeaBIOS-hppa firmware to version 16 for HPPA architecture, and adds emulation support for CVDG, CVB, CVBY and CVBG instructions, and improves LAE (Load Address Extended) emulation for the s390x architecture.

There are also various gdbstub improvements like catching of syscalls in user-mode, support for fork-follow modes, and support for siginfo:read. For more details, check out the full list of changes on the official website, from where you can also download QEMU 9.0 if you fancy compiling it from sources.

Last updated 1 week ago

Buy Me a Coffee at ko-fi.com