ChangeLog/1.4
System emulation
Device emulation
Device assignment
- Improved support for MSI-X on some Mellanox devices.
- VFIO supports PCIe extended configuration space.
USB
- Various CPU usage and throughput improvements for USB 2.0.
- usb-tablet can be connected as an USB 2.0 device, also lowering the CPU usage substantially.
- Improved support for pass-through of USB serial devices.
- A new device usb-bot is the same as usb-storage, but is configured like other SCSI adapters and supports multiple LUNs.
Network
- virtio-net supports multiqueue operation.
Other
- Added support for IndustryPack emulation. The TEWS TPCI200 device emulation (device "tpci200") hosts IndustryPack modules, and the GE IP-Octal 232 emulation (device "ipoctal232") implements eight RS-232 serial ports.
ARM
- Various minor bugfixes; no new features in this release.
MIPS
- Improved support for DSP instructions.
PowerPC
- pSeries: NVRAM support for improved guest installation experience
- G3/G4: Allow dcbzl (for Mac OS X guests)
- e500: Linux guests don't use use SWTLB anymore, freeing memory for real applications
- e500: MSI support
- e500: Allow for up to 31 PCI devices with -M ppce500
- e500: Support idle hcall when running KVM on e500mc or above
- e500: Emulate the EPR facility (e500mc and above)
- PReP: Emulate a full PC87312 Super I/O chipset. This adds a parallel port. Changing the chipset configuration register at runtime is not yet supported.
S390
- New virtio-ccw machine and transport support
- Add -cpu ? support
- Improved support for S390 emulation.
x86
- Generation of APIC IDs for NUMA configuration is now compatible with the Intel® 64 Architecture Processor Topology Enumeration
- Many fixes to the Q35 chipset emulation, including experimental AHCI migration support and support for device assignment.
- Resetting the machine with a write to port 0xCF9 now works.
- The xlevel argument for -cpu option currently silently fix-ups the user-provided value if it's less than 0x80000000. This will be removed in future QEMU versions; users are expected to provide valid xlevel value or QEMU will fail to start.
KVM
- New devices isa-debug-exit and pc-testdev can be used to run kvm-unit-tests.
Xen
- Persistent grants support implemented in xen_disk, giving substantial performance improvements.
- xen_disk supports BLKIF_OP_FLUSH_DISKCACHE, making the device safer against power losses.
- xen_console supports multiple secondary PV consoles.
QMP
- New commands chardev-add and chardev-del add support for hotplugging character devices.
- New ringbuf-read/ringbuf-write to read and write to memory chardevs
- Various improvements in error messages
Block devices
- Discard operations are now supported on block devices and on filesystems other than XFS. They are also fully asynchronous now.
- Block device mirroring (also known as storage migration) performance was greatly improved.
- New experimental threaded backend for virtio-block-pci. This new backend achieves several times the IOPS of the existing virtio-blk implementation; for now it can only be used for raw image files and disables features such as live snapshots and storage migration.
Live Migration
- Moved migration from a timer to a thread, improving latency in other parts of QEMU and throughput of migration itself
- Many machine models are now correctly marked as not migratable.
Spice
- A new spiceport character device can be used to support arbitrary communication between the SPICE server on the host and the client.
User-mode emulation
- Fix ppc guest signal handling
- Fix MIPS target
Guest agent
- qemu-ga supports hooks that are executed when the guest receives the guest-fsfreeze-freeze and guest-fsfreeze-thaw commands
Host support
- Native asynchronous I/O for Win32 (introduced in 1.3) now actually works.