ChangeLog/2.0
System emulation
ARM
- Support for "-M virt", a board type that only uses virtio devices
- Support for "-cpu host" when running under KVM
- Support for new ARMv8 instructions in TCG
- Support for AArch64 user-mode emulation
- Support for AArch64 system-mode emulation using KVM
- Support for the Canon PowerShot A1100 DIGIC board using "-M canon-a1100"
- Support for the allwinner-a10-based board "-M cubieboard"
- Support for flow control in the Cadence UART
Power
- Support for VSX instructions when running under TCG
x86
- On the Q35 machine, the HPET interrupt can now be attached to GSIs 16-23, like
on real hardware.
- The Q35 machine now supports CPU hotplug.
- Two flash chips can be specified using the "-drive if=pflash" or "-pflash"
options twice.
- Memory layout has changed slightly; to improve performance, the PIIX4
machine ("-M pc") now has 3GB of low memory instead of 3.5GB if the guest has more than 3.5GB of memory. Similarly, the Q35 machine ("-M q35") now has 2GB instead of 2.75GB of low memory if the guest has more than 2.75GB of overall memory.
- Support for migration of Intel MPX registers.
- The Apple SMC device is now exposed in the ACPI tables.
- PCI hotplug now supports devices behind a bridge (only for bridges not added
by hotplug; hot-plugged bridges can still use the PCI Standard Hot-Plug Controller).
Xen
- PCI passthrough of devices with a ROM now works.
Device emulation
SCSI
- the SCSI layer can offload the WRITE SAME command to the host storage. This
is supported on XFS file systems, raw devices, and iSCSI targets.
USB
- support for suspend-to-RAM in the XHCI controller
- support for Microsoft descriptors, to make Windows use remote suspend by
default.
Block devices
- when the destination of "qemu-img convert" is a raw device, can ask the host
storage to "discard" it instead of writing zeroes
- "qemu-img convert" can be passed a "-S 0" option to create a fully allocated
image
- "qemu-img convert" can use hints from the host storage to speed up the
transfer
- Live snapshot merge (...-commit) can be used to merge the active layer of an
image into one of the snapshots
- Live and offline snapshot merge ("commit") will resize the destination image
if necessary.
- The iSCSI backends support snapshot merge.
- The libcurl interface had bitrotted and has been fixed.
- QEMU is able to operate even if the underlying storage requires the buffer
size to be a 4K multiple. This is the case for 4K-native disks (with cache=none or when accessed through iscsi:// URLs) and some raw devices. When this happens, QEMU emulates unaligned accesses using read-modify-write cycles if necessary. On properly configured guests newer than ~2009 there should be no performance penalty.
- qemu-io supports command editing via readline.
- Pseudo-protocols like blkdebug and blkverify can be nested arbitrarily.
- "query-block-stats" provides statistics for all images in the chain of
backing files.
- node-name, query-named-block-nodes: external snapshot, resize, change password
GUI
- Windows hosts support keyboard translation in the GTK+ interface.
VNC
- setting the password via monitor command will not enable password auth as side effect any more. Use "qemu -vnc ${display},password" on the command line to enable password authentication.
Monitor
- New HMP command cpu-add for CPU hotplug.
- New HMP commands object-add and object-del for generic object hotplug (enables
virtio-rng hotplug).
- New QMP commands object_add and object_del for generic object hotplug.
Migration
- Reduction (or elimination) of guest stalls during migration.
Network
- New backend "netmap" on BSD systems
TCG
- QEMU can use getauxval to detect the host instruction set for PPC64, ARM, s390
- QEMU supports generating MOVBE instructions in the x86 backend.
User-mode emulation
- support for several more system calls and parameters