ChangeLog/1.3
QMP
- The sendkey monitor command is now available via QMP.
All targets
- QEMU can now use the Linux VFIO driver to assign PCI devices to a virtual machine.
ARM
MIPS
- Loongson Multimedia Instructions are now implemented.
x86
- The TSC frequency can be larger than 2.147 GHz.
- Configuration files do not support anymore the cpudef section.
- TCG (emulation) supports the SMEP (Supervisor Mode Execution Prevention) and SMAP (Supervisor Mode Access Prevention) features of newer x86 processors.
- CPUID/models?
Xtensa
Device emulation
- Emulation of the MC146818 real-time clock (used on PC and several other boards) does not wake up QEMU anymore every second to update the clock.
- USB3 has been vastly improved, including support for USB mass storage devices and MSI/MSI-X support for the XHCI controller.
- USB redirection now supports live migration.
- The AHCI controller was fixed and supports recent Windows versions.
Audio devices
Network devices
- Some problems were fixed leading to bad receive performance of E1000 and Xen network cards.
Block devices
- qemu-img now can output information in JSON format using "qemu-img info --output=json".
- Glusterfs volumes can be accessed with "gluster://" URIs for "-drive" and similar options. Optionally the transport can also be specified, as in "gluster+tcp://" (other supported transports are "unix" and "rdma").
- Options on the QMP streaming command direct the job to pause on encountering errors, or to ignore them altogether.
- A new block job is supported: live block commit (also known as "snapshot deletion") moves data from an image to another in the backing file chain. With the current implementation of QEMU 1.3, the "source" image may not be the active one.
- A new block job is supported: live disk mirroring (also known as "storage migration") moves data from an image to another. A new command "block-job-complete" is used to switch the VM to use the destination image exclusively.
- Block jobs can now be paused and resumed from the monitor.
- QEMU embeds an NBD server which, for now, is only available via QMP. The NBD server allows live access to the image seen by the VM.
Live Migration, Save/Restore
- The "stop" and "cont" commands have new semantics on the destination machine during migration. Previously, the outcome depended on whether the commands were issued before or after the source connected to the destination QEMU: in particular, "cont" would fail if issued before connection, and "undo" the effect of the -S command-line option if issued after. Starting from this version, the effect of "stop" and "cont" will always take place at the end of migration (overriding the presence or absence of the -S option) and "cont" will never fail. This change should be transparent, since the old behavior was usually subject to a race condition.
Spice
- QEMU will only send changed screen content to the Spice client when running in legacy VGA mode.
- Seamless migration?
KVM
- QEMU now supports "old-style" PCI device assignment, which was the last missing feature from the qemu-kvm fork. Despite some remaining minor differences between qemu-kvm and QEMU, it is possible to switch from qemu-kvm to QEMU as soon as your guests can be rebooted. Live migration from qemu-kvm 1.2 to QEMU 1.3 is not supported, but can be enabled easily by downstream distributions who want to switch their packages from qemu-kvm to QEMU.
Xen
- QEMU can now be used to live-migrate Xen domains.
Guest agent
Host support
- SPARCv7 and v8 support was removed.
Build dependencies
- QEMU can now be built with Clang.