ChangeLog/4.1

From QEMU

System emulation

Incompatible changes

New deprecated options and features

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

Alpha

68k

Arm

  • QEMU now supports emulating an FPU for Cortex-M CPUs, and the Cortex-M4 and Cortex-M33 now provide the FPU.

HPPA

Microblaze

MIPS

Nios2

OpenRISC

PowerPC

  • NVIDIA V100 GPU/NVLink2 passthrough for spapr using VFIO PCI

RISC-V

s390

  • The bios now supports IPL (boot) from ECKD DASD assigned to the guest via vfio-ccw.

SH

SPARC

TileGX

Tricore

x86

  • New Hygon Dhyana CPU model
  • The host-cache-info CPU option now affects the TOPOEXT CPUID leaf (0x8000001D)

Xtensa

Device emulation and assignment

ACPI

Audio

Block devices

Graphics

Input devices

IPMI

Network devices

NVDIMM

PCI/PCIe

SCSI

SMBIOS

TPM

USB

VFIO

virtio

Xen

fw_cfg

9pfs

Audio

Character devices

Crypto subsystem

GUI

Host support

Memory backends

  • QEMU will automatically try to use the MAP_SYNC mmap flag for memory backends configured with pmem=on,share=on

Monitor

Migration

Network

Block devices and tools

Tracing

Miscellaneous

  • Unless QEMU is configured with --disable-blobs, make install will install UEFI platform firmware binaries, and matching variable store templates, at $prefix/share/qemu/edk2-*.fd.
    • These files are built from the edk2 project's ArmVirtPkg and OvmfPkg firmware platforms, and the edk2 project's OpenSSL submodule.
    • They are documented (and exposed to virt management applications) through JSON files in $prefix/share/qemu/firmware/.
    • The schema definition for the JSON descriptors is located at docs/interop/firmware.json in the QEMU source tree.

User-mode emulation

TCG

Guest agent

Build Information

The configure argument --source-path has been removed. This argument used to be provided to allow the user to specify that the source tree was in a different location from the configure script itself. This odd way of building is no longer supported, and we always assume that the source tree is where the configure script is. (Note that a separate build tree is still permitted -- the build tree is the working directory which configure is run from.)

GIT submodules

Build Dependencies

Known issues