System emulation
Device emulation
Block devices
- New device "nvme" provides a PCI device that implements the NVMe standard.
Device assignment
- Legacy PCI assignment supports CPU affinity for MSI interrupts.
USB
- The XHCI (USB 3.0) controller supports live migration.
PCI
ARM
PPC
s390x
- If the kernel supports it, virtio-ccw supports ioeventfd and vhost when running on KVM.
SPARC
x86
- Firmware can be exposed to the guest as a flash device (using -pflash) also when running on KVM.
- In addition to the "xenfv" machine type, which is kept for backwards compatibility, Xen can now use the pc machine type (including versioned machine types) using "-M pc -machine accel=xen". Note that using PV-on-HVM drivers requires "-M pc -machine accel=xen -device xen-platform".
- QEMU can expose the full set of ACPI tables to the guest:
http://wiki.qemu.org/Features/ACPITableGeneration
QMP
- info block now returns different output for HMP. HMP is not a programmatic interface, please use QMP if you need a stable programmatic interface.
Block devices
- The "whitelist" that lets packagers specify which block device formats are supported by QEMU will now allow specifying formats that QEMU should only allow when opened as read-only. The --block-drv-whitelist configure option is thus split in two new options, --block-drv-rw-whitelist and --block-drv-ro-whitelist.
- Support for a new block device background job. Started by drive-backup, it will backup a disk's content to a new file. Unlike drive-mirror, the new file will include the source disk's content at the time the backup job was started. Atomic backup of multiple disks is supported using the "transaction" QMP command.
- Several bugfixes for VMDK and curl backends.
- Support for thin provisioning ("discard") on qcow2 images. When a device is opened with "-drive ...,discard=on", discard requests from the guest are forwarded to the underlying file system or block device as is the case for "raw" format images.
Live Migration
- Initial support for live migration over RDMA using "migrate x-rdma:HOST:PORT".
User-mode emulation
Guest agent
- On Win32, the state directory will be placed under CSIDL_COMMON_APPDATA, which typically is "C:\Documents and Settings\All Users\Application Data".
Host support
- linux-user does not support anymore *at system calls on glibc versions older than 2.5.
- New TCG target for aarch64.
- Build ARM, Microblaze and PPC targets will now use a bundled libfdt if the library is not available on the host.