ChangeLog/2.4

From QEMU

System emulation

Future incompatible changes

  • Three options are using different names on the command line and in configuration file. In particular:
    • The "acpi" configuration file section matches command-line option "acpitable";
    • The "boot-opts" configuration file section matches command-line option "boot";
    • The "smp-opts" configuration file section matches command-line option "smp".
-readconfig will standardize on the name for the command line option.
  • Behavior of automatic calculation of SMP topology when some SMP topology options for -smp are omitted (sockets, cores, threads) will change in the future. If guest ABI needs to be preserved on upgrades while using the SMP topology options, users should either set set all options explicitly (sockets, cores, threads), or omit all of them.
  • Image encryption is fatally flawed, and will be dropped entirely. It'll remain available only in qemu-img, so you can use 'qemu-img convert' to convert encrypted images to uncrypted ones.
  • Host floppy device pass-through (block driver "host_floppy") is deprecated, and will be dropped in a future release.
  • Block device parameter aio=native has no effect without cache.direct=on. It will be made an error.
  • A few devices will be configured with explicit properties instead of implicitly. Unlikely to affect users; for the full list, see the 2.3 ChangeLog.
  • QMP command blockdev-add is still a work in progress. It doesn't support all block drivers, it lacks a matching blockdev-del, and more. It might change incompatibly.

Alpha

  • Major fixes to the implementation of floating point exceptions.

ARM

  • New board model xlnx-ep108

KVM

MIPS

PowerPC

IBM (pSeries)

Freescale (BookE)

PReP

s390

  • Several TCG fixes
  • Extended name and UUID in STSI 3.2.2 information block
  • Support for reading/writing guest memory while holding the IPTE lock under KVM, including access register mode
  • Various cleanups in the s390-virtio and virtio-ccw transports
  • Support for vector registers

SPARC

TriCore

x86

KVM

Xen

Device emulation and assignment

ACPI

  • Support for memory hot-unplug.

Audio

Block devices

  • Minimal support in NVMe emulation for the NVME_VOLATILE_WRITE_CACHE feature.

IDE

SCSI

PCI/PCIe

USB

VFIO

  • Support for resetting AMD Bonaire and Hawaii GPUs

VGA

Character devices

GUI

  • Support for OpenGL-based display rendering in the SDL 2.0 backend. This is preparatory work for 3D acceleration.
  • Improvements to the Cocoa front-end, fixing full-screen mode and adding a list of consoles to the View menu.

Monitor

Migration

  • Support for compression of RAM data using multiple threads for compression and decompression (using migration capability "compress" and migration parameters "compress_threads", "compress_level" and "decompress_threads").

Network

  • Support for the "rocker" L2 switch device.

Block devices in system emulation

  • The BLOCK_IMAGE_CORRUPTED event has a new "node-name" field.

Block devices and tools

  • The "null" block device now has a new "latency-ns" option to delay the answer from the block device.
  • The iscsi driver can use the target's FUA capabilities to greatly improve roundtrip times in write-through caching modes (cache.writeback=off). These modes are recommended when the storage has a non-volatile (battery-backed) cache.
  • Major performance improvements in the parallels driver.
  • qcow2 performance improvements.
  • qemu-io supports encrypted qcow2 images (which are deprecated).

TCG

Tracing

Guest agent

User-mode emulation

Build dependencies

  • QEMU now requires a minimum glib version of 2.22. (In particular, we will no longer build on a stock RHEL5 or Centos 5 system.)
  • QEMU can now optionally be linked against tcmalloc.
  • QEMU now can be compiled without warnings using clang 3.5.
  • Building on MacOSX versions earlier than 10.5 is no longer supported.

Known issues