ChangeLog/2.5
System emulation
Incompatible changes
- The mips32r5-generic CPU was renamed to P5600
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
ARM
- The "virt" machine type supports passing SMBIOS to the firmware.
- Semihosting support on AArch64
- New i.MX31 SoC.
- The ZynqMP platform supports AHCI.
- Support for VGICv3 in KVM
- The "virt" machine now has a second PCIe MMIO region of 512GB in size in high memory. Note that older 32-bit ARM Linux kernels built without CONFIG_LPAE have a bug where the presence of this region in high memory causes them to refuse to use the PCIe controller at all. In this case you can either reconfigure your kernel with CONFIG_LPAE=y, or pass QEMU the "-machine highmem=off" option to disable the use of high memory for PCIe. The kernel bug is expected to be fixed in Linux kernel release 4.4.
MIPS
- The mips32r5-generic CPU was renamed to P5600
PowerPC
pSeries
- Support for memory hotplug
- The shipped version of SLOF includes GPT support.
- Using VFIO doesn't need spapr-pci-vfio-host-bridge anymore.
s390
- Storage keys are migrated.
- New "info skeys" command in HMP to dump the storage key for a given address.
- Support for virtio 1.0 in the virtio-ccw devices.
- A maximum virtio-ccw revision can be specified via the "max_revision" property: max_revision=0 may be used to enforce usage of legacy virtio mode.
SH
SPARC
TileGX
- New target.
x86
KVM
- Support for Hyper-V-compatible reporting of crashes.
Xen
- Support for passthrough of Intel integrated GPUs.
Device emulation and assignment
ACPI
Audio
Block devices
Character devices
IDE
Mouse/keyboard
Network
SCSI
- scsi-generic devices now can be used together with a "readonly=on" backend.
PCI/PCIe
TPM
VFIO
virtio
- virtio-gpu now supports 3D mode
VGA
Character devices
GUI
- New syntax for enabling TLS in the VNC server:
- Equivalent to -vnc hostname:0,tls: -object tls-creds-anon,id=tls0,endpoint=server -vnc hostname:0,tls-creds=tls0
- Equivalent to -vnc hostname:0,tls,x509=/path/to/certs: -object tls-creds-x509,id=tls0,endpoint=server,dir=/path/to/certs,verify-peer=no -vnc hostname:0,tls-creds=tls0
- Equivalent to -vnc hostname:0,tls,x509verify=/path/to/certs: -object tls-creds-x509,id=tls0,endpoint=server,dir=/path/to/certs,verify-peer=yes -vnc hostname:0,tls-creds=tls0
- The Cocoa GUI does not have show an 'open image file' dialog box anymore even if QEMU is started without arguments
Monitor
- New "info iothreads" command.
- New "query-qmp-schema" command allows the caller to introspect the QMP schema used by QEMU.
Migration
- Postcopy migration for migration large/busy guests (see docs/migration.txt for detail)
- A more flexible auto-converge mechanism (for busy guests)
Network
- Support for multiqueue in vhost-user.
- Support for network filters. Currently, the only filter object is "filter-buffer", which batches packets every N microseconds. Filters are attached to a netdev device using e.g. "-object filter-buffer,id=filter,netdev=net0,queue=rx,interval=1000" (which creates a 1ms filter-buffer).
Block devices in system emulation
Command-line options
TCG
- Improved system emulation performance for targets with software TLBs (e.g. SPARC).
Block devices and tools
- New "reopen" command in qemu-io.
Audio
Guest agent
- Add an optional qemu-ga.conf system configuration
- Support for dumping the configuration current file with --dump-conf
- Win32 support for guest-set-user-password
User-mode emulation
- The configure option --disable-guest-base has been removed.
Build dependencies
- libcacard has been moved to a standalone project, hosted at git://anongit.freedesktop.org/spice/libcacard. The libcacard library from QEMU 2.4 can also be used to build QEMU 2.5.
- virtio-gpu 3D support requires virglrenderer.
Known issues
- SDL audio only works with SDL 1.x.
- 64-bit QEMU crashes on Windows (Fix)