QEMU version 4.0.0 released

24 Apr 2019

We would like to announce the availability of the QEMU 4.0.0 release. This release contains 3100+ commits from 220 authors.

You can grab the tarball from our download page. The full list of changes are available in the Wiki.

Highlights include:

  • ARM: ARMv8+ extensions for SB, PredInv, HPD, LOR, FHM, AA32HPD, PAuth, JSConv, CondM, FRINT, and BTI
  • ARM: new emulation support for “Musca” and “MPS2” development boards
  • ARM: virt: support for >255GB of RAM and u-boot “noload” image types
  • ARM: improved emulation of ARM PMU
  • HPPA: support for TLB protection IDs and TLB trace events
  • MIPS: support for multi-threaded TCG emulation
  • MIPS: emulation support for I7200 I6500 CPUs, QMP-base querying of CPU types, and improved support for SAARI and SAAR configuration registers
  • MIPS: improvements to Interthread Communication Unit, Fulong 2E machine types, and end-user documentation.
  • PowerPC: pseries/powernv: support for POWER9 large decrementer
  • PowerPC: pseries: emulation support for XIVE interrupt controller
  • PowerPC: pseries: support for hotplugging PCI host bridges (PHBs)
  • PowerPC: pseries: Spectre/Meltdown mitigations enabled by default, additional support for count-cache-flush mitigation
  • RISC-V: virt: support for PCI and USB
  • RISC-V: support for TSR, TW, and TVM fields of mstatus, FS field now supports three stats (dirty, clean, and off)
  • RISC-V: built-in gdbserver supports register lists via XML files
  • s390: support for z14 GA 2 CPU model, Multiple-epoch and PTFF features now enabled in z14 CPU model by default
  • s390: vfio-ap: now supports hot plug/unplug, and no longer inhibits memory ballooning
  • s390: emulation support for floating-point extension facility and vector support instructions
  • x86: HAX accelerator now supported POSIX hosts other than Darwin, including Linux and NetBSD
  • x86: Q35: advertised PCIe root port speeds will now optimally default to maximum link speed (16GT/s) and width (x32) provided by PCIe 4.0 for QEMU 4.0+ machine types; older machine types will retain 2.5GT/x1 defaults for compatibility.
  • x86: Xen PVH images can now be booted with “-kernel” option
  • Xtensa: xtfpga: improved SMP support for linux (interrupt distributor, IPI, and runstall) and new SMP-capable test_mmuhifi_c3 core configuration
  • Xtensa: support for Flexible length instructions extension (FLIX)
  • GUI: new ‘-display spice-app’ to configure/launch a Spice client GUI with a similar UI to QEMU GTK. VNC server now supports access controls via tls-authz/sasl-authz options
  • QMP: support for “out-of-band” command execution, can be useful for postcopy migration recovery. Additional QMP commands for working with block devices and dirty bitmaps
  • VFIO: EDID interface for supported mdev (Intel vGPU for kernel 5.0+), allows resolution setting via xres/yres options.
  • Xen: new ‘xen-disk’ device which can create a Xen PV disk backend, and performance improvements for Xen PV disk backend.
  • Network Block Device: improved tracing and error diagnostics, improved client compatibility with buggy NBD server implementations, new –bitmap, –list, –tls-authz options for qemu-nbd
  • virtio-blk now supports DISCARD and WRITE_ZEROES
  • pvrdma device now supports RDMA Management Datagram services (MAD)
  • and lots more…

Thank you to everyone involved!