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!