ChangeLog/4.2

From QEMU

System emulation

Incompatible changes

  • The minimum version of the glib library is now 2.48

New deprecated options and features

Consult the "Deprecated Features" appendix for the full list of historically deprecated features/options.

Alpha

68k

  • Added new "next-cube" machine for emulating a classic NeXTcube (still incomplete, can only boot to the firmware prompt)

Arm

HPPA

Microblaze

MIPS

  • Fixed bug involving emulation of ST.W instruction in system mode only (there was no bug in Linux user mode).

Nios2

OpenRISC

PowerPC

  • Behavior for unplug of multifunction PCI devices has been changed to match x86. Attempting to unplug any function will cause an unplug of the whole slot.
  • There are now separate machine types for POWER8 based and POWER9 based non-virtualized machines (powernv8 & powernv9).
  • Default RAM size for powernv machines has been increased to 1.75G which should allow more things to work with the default parameters.

RISC-V

s390

SH

SPARC

TileGX

Tricore

x86

Xtensa

Device emulation and assignment

ACPI

Audio

Block devices

GPIO

Graphics

Input devices

IPMI

IPMI UUIDs

UUID handling for the built-in IPMI BMC has changed. Before the UUID was set from the qemu UUID, if that was set. However, in a real system, the UUID of a BMC will be independent of the system UUID. So now the UUID must be explicitly set for a BMC if you want one. Otherwise the BMC will not have a UUID.

To set the UUID of a BMC, use the new property guid=11223344-5566-7788-99aa-bbccddeeff00 for the ipmi-bmc-sim device.

IPMI PCI Devices

New PCI interfaces for IPMI KCS and BT devices are available. The devices pci-ipmi-kcs and pci-ipmi-bt are used to choose these devices.

Network devices

NVDIMM

PCI/PCIe

SCSI

SMBIOS

TPM

USB

VFIO

virtio

Xen

fw_cfg

9pfs

Semihosting

Audio

Character devices

Crypto subsystem

GUI

Host support

  • Any backend that supports connection as an Inet client (NBD, chardev, network device, monitor...) can now request to use TCP keep-alive with the server.

Memory backends

Monitor

  • bugs in gdbstub handling of F and ! packets have been fixed

Migration

  • The 'validate-uuid' migration compatibility checks the UUID matches on migration, preventing accidental migration of the wrong VM to the wrong destination. (Yury Kotov)

Network

Block device backends and tools

  • Block drivers can now support BDRV_REQ_PREFETCH for more efficient handling of copy-on-read requests; the NBD driver has wired this up to NBD_CMD_CACHE.
  • The LUKS block driver supports falloc/full preallocation.
  • The NBD server now advertises NBD_FLAG_CAN_MULTI_CONN on shared readonly connections.
  • The NBD server and client support the new NBD_CMD_FLAG_FAST_ZERO as an optimization during the copying of sparse images.

Tracing

Miscellaneous

User-mode emulation

Alpha

Xtensa

  • call0 ABI may be selected for the user emulation with command line option -xtensa-abi-call0 (or with QEMU_XTENSA_ABI_CALL0 environment variable).

TCG

  • The tcg tests have had their configuration and build somewhat dissentagled from the main make file
  • tcg tests are now in $BUILDDIR/tests/tcg/$TARGET/ (rather than $BUILDDIR/$TARGET/tests/)

Guest agent

Build Information

Python

  • The minimum supported version of Python is now 3.5.

GIT submodules

Container Based Builds

  • The docker.py tooling now supports podman containers [1] as an alternative to docker
  • the docker.py now requires python3 to run
  • a number of the cross compiler containers have been updated to Buster

Build Dependencies

  • The minimum version of the glib library is now 2.48

Testing

Windows

Known issues