ChangeLog/1.6
System emulation
Device emulation
Block devices
- New device "nvme" provides a PCI device that implements the NVMe standard.
- Fix for a possible data loss on crashes with IDE disks (due to mishandling of FLUSH requests)
Device assignment
- Legacy PCI assignment supports CPU affinity for MSI interrupts.
USB
- The XHCI (USB 3.0) controller supports live migration.
PCI
- ACPI hotplug of devices behind a PCI bridge is supported. See See Features/PCIBridgeHotplug
ARM
- the 32-bit ARMv8 LDA/STL instructions for load-acquire/store-release are supported (only with -cpu any); the remainder of the new v8 instructions will follow in a future release.
- the vexpress-a9 and vexpress-a15 boards have experimental support for virtio devices via a virtio-mmio transport. Note that the virtio command lines used with x86 systems won't work as they will create PCI virtio devices; use the devices "virtio-blk-device", "virtio-net-device", etc instead. Note that this functionality may change in future releases.
PPC
- Mac OS X guests supported (10.2-10.4 for PPC, 10.4 for PPC64)
s390x
- If the kernel supports it, virtio-ccw supports ioeventfd and vhost when running on KVM.
SPARC
- Sun4c and Sun4d architectures and related CPUs were not fully implemented and have been removed.
- 24-bit display mode works
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: See Features/ACPITableGeneration
- Conroe, Penryn and Nehalem CPUs have had their CPUID values fixed
- "-M isapc" now works on KVM too.
- -pflash can be used with KVM too.
Monitor
- info block now returns different output for HMP. HMP is not a programmatic interface, please use QMP if you need a stable programmatic interface.
- "-serial mon:stdio" will now trap signals in the same way that "-nographic" has always done. This means that ^C will be passed to the guest.
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".
- Support for auto-convergence ("CPU stunning")
User interface
- BSDs now support the GTK+ user interface.
- The GTK+ interface supports -full-screen and -no-quit
- The Cocoa user interface now supports Mac OS X 10.6 better.
User-mode emulation
- Support for /proc/self has been extnded to include /proc/$$ (where $$ is the result of the getpid() system call).
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.
- Support for TUN/TAP on Mac OS X (http://tuntaposx.sourceforge.net)