QEMU

Changelog

QEMU 2.8.50:

- Update HAXM support.

QEMU 2.8.0:

- Added SDL 2 (slow!), updated HAXM.

QEMU 2.7.0:

- Multiqueue support for virtio-blk devices.
- Busy-polling support for virtio-net/vhost-net devices.
- Live migration support for virtio-gpu 2D displays.
- Support for Xen paravirtualized USB.
- VFIO passthrough support for Intel integrated graphics devices.
- New management interfaces to improve CPU hot plug/unplug.
- General TCG emulation improvements up to 20%.
- User-mode networking support for DHCPv6, RDNSS, DNS6, and link-local DNS addresses.
- Support for building user-mode emulation docker images for use in cross-compiling/testing.
- ARM: virt machine now has support for NUMA and GICv3 interrupt controller.
- ARM: new xlnx-zcu102 machine type implementing Xilinx Zynq ZCU102 board.
- ARM: Xilinx Zynq MP now supports graphics/audio over emulated DisplayPort interface.
- ARM: Xilinx Zynq support for KVM on AArch64 hosts.
- MIPS: Initial GIC support.
- PPC: many fixes for TCG.
- PPC: mac99 machine can now boot MacOS 9.1+.
- PPC: pseries machine support for CPU hotplug.
- PPC: pseries machine performance improvements: large/64-bit DMA windows for VFIO-based PCI passthrough, and significant improvements for spapr-llan.
- s390: support for runtime instrumentation.
- s390: significant refactoring/improvement of s390 PCI device emulation and hot unplug.
- x86: CPU hot unplug support based on newer device_add/device_del management interface.
- x86: q35 machine support for IOMMU emulation.
- and lots more...

QEMU 2.6.0:

- Headless support for OpenGL-capable displays via Virgil/virtio-gpu are now available via Spice client.
- virtio performance improvements through vring access optimizations.
- Support for IPMI through internally emulated BMC or an external BMC interface.
- PCIe multi-root support via pxb-pcie bridge, allowing devices to be exposed to guest on specifically-defined NUMA nodes.
- Post-copy migration now officially supported.
- TLS support for character devices (e.g. isa-serial port) exposed over TCP sockets.
- VFIO passthrough support for AMD XGBE 10Gb NIC.
- Block device throttling now supports separate controls for burst IOPS over a specified interval.
- Image support for LUKSv1, and TLS and authentication support for various remote disk protocols (iSCSI, NBD, RBD, ...).
- New default tracing backend, and command-line/wildcard support for enabling specific traces.
- ARM: Raspberry Pi 2 emulation support via new raspi2 machine.
- ARM: virt machine now supports QEMU-signalled powerdown, and RAM limit increased from 30GB to 255GB.
- ARM: new palmetto-bmc machine type implementing ASPEED AST2400 SoC.
- MIPS: support for FPU and SIMD instructions in KVM guests.
- PowerPC: improved migration and serial port support for g3beige and mac99 machines.
- PowerPC: GDB stub support for VSX instruction set.
- PowerPC: pseries now exposes XHCI USB by default.
- s390: CPU hotplug support, and PCI/virtio-scsi improvements.
- Tricore: support for FPU instructions, context management, and illegal opcode and opd traps.
- x86: KVM and TCG emulation support for PKU memory protection feature of newer Intel CPUs within guest.
- x86: resume from suspend support for Q35 machine type.
- x86: support for older Windows guest (XP/2003) on Q35 machine type.

QEMU 2.4.0:

- Post-copy-based live migration support.
- Full introspection support for QEMU Management Protocol.
- PCIe multi-function hotplug support.
- Performance improvement for virtio-pci using virtio-1 mode.
- virtio-gpu now supports 3D mode.
- vhost-user now supports multi-queue.
- ARM: support for i.MX31 SoC (via 'kzm' machine type).
- ARM: SMBIOS support for 'virt' machine type.
- ARM: support for semihosting on AArch64.
- PowerPC: improved ability to boot MacOS 9.
- PowerPC: pseries support for memory hotplug.
- PowerPC: pseries support for virtio-vga.
- PowerPC: pseries support for paravirt RNG.
- s390: Support for virtio-1 in virtio-ccw devices.
- Tile-Gx: initial support for Tile-Gx ISA.
- x86: emulated IOMMU/VT-d supports devices behind a bridge.
- x86: Xen support for integrated Intel GPU passthrough.
- x86: support for new clflushopt/clwb/pcommit memory instructions.
- Fixed bugs.

QEMU 2.4.0:

- Support for group-based disk IO throttling.
- Improved support for block device mirroring, and performance improvements for qcow2 disk images and iSCSI emulation.
- Initial support for OASIS virtio-1 specification.
- Support for virtio-gpu (accelerated 2D only, plans for 3D via later via Virgil3D).
- Support for virtio-based keyboard/mouse/tablet emulation, as well direct passthrough of host input devices over virtio.
- x86 support for non-globally-locked MMIO operations for ACPI PM timer, which can substantially improve performance for large Windows guests.
- x86 support for memory hot-unplug.
- ARM support for new "xlnx-ep108" board, and ACPI v5.1 table support for "virt" board.
- MIPS support for microMIPS32 R6 emulation, and eXtended and Large Page Addressing emulation for MIPS32 and MIPS64, respectively.
- PowerPC support for PCI hotplug with pSeries guests.
- s390 support for channel I/O when using TCG-based emulation, diag288 watchdog devices, and vector registers, and various cleanups/improvements.
- And lots more.

QEMU 2.3:

- Support for 32-bit KVM guests on 64-bit ARM hosts
- Support for running KVM under valgrind
- New IvyBridge CPU model for x86 guests
- Xen: support for ioreq-server API
- New 5KEc and 5KEf MIPS64r2, and M14K and M14Kc MIPS32r2 microMIPS CPU models for MIPS guests
- Basic support for transactional memory extentions in PowerPC guests
- Improved VGA support for little-endian PPC/pSeries guests
- PCI bus support for s390x guests
- Support for automatic guest device unplug when passthrough devices are unbound from VFIO host driver
- Improved UI performance/support for GTK+/VNC/SDL/Spice, and VNC support for multiseat
- Performance improvements for virtio-blk emulation: asynchronous SCSI request handling, and disk read merging.
- QEMU Guest Agent: now also supports file operations in Windows guests, can be used to enable/disable memory blocks in linux guests in support for memory hotplug.
- Migration can now include a JSON description of migration stream to aid in identifying incompatibilities betweens guests/hosts.
- And lots more...

QEMU 2.2:

- Dedicated dataplane thread for virtio-blk now supports disk resizing, hot-unplug, QEMU's built-in NBD support, and disk management features like live backup, mirroring, copy/streaming, and snapshot merging.
- Experimental dedicated dataplane thread support for virtio-scsi disk controllers.
- Support for hotplugging USB controllers.
- Improved live-migration for guests using KVM paravirt clocksource.
- Support for direct booting of guest kernel images using Xen.
- Support for IOMMU (VT-d) emulation on Q35 x86 guests.
- TCG emulation support for breakpoints/watchpoints on ARM guests.
- TCG emulation support for PSCI firmware interface, allowing clean shutdown of fully emulated ARM guests.
- Emulation support for MIPS64 Release 6 architecture.
- Emulation support for MIPS SIMD architecture.
- Emulation support for Mac OS X 10.2, 10.3, and 10.4 guests.
- Emulation support for TriCore architecture.
- TCG emulation optimizations for PowerPC guests.
- Improved guest kernel debugger support for pSeries guests.
- And lots more...

QEMU 2.1:

- Support for memory hotplug on x86 guests.
- Support for pinning memory on host NUMA nodes on x86 guests.
- Basic hot-plug/hot-unplug support for x86 guests using Q35 machine-type.
- Support for TCG-based system emulation on AArch64 (in addition KVM-based virtualization).
- AArch64 SHA and Crypto instruction support.
- Support for VFIO-based device passthrough on pSeries/PowerKVM guests.
- Migration support for virtio-ccw on s390x guests.
- Improved IOMMU emulation for SPARC guests.
- Full support for USB3 passthrough (including streams).
- Multi-seat support for GTK+ and SDL 2.0 UIs, and lots of bug fixes.
- Dedicated threading model for virtio-blk, virtio-blk dataplane, now supports almost all features of the block layer including: image formats, POSIX AIO, I/O throttling, statistics and error recovery.
- Fixes migration from QEMU 1.7 when certain bridge/CPU combinations are in use (see changelog for notes on migration incompatibilities between 2.0 and 2.1 for certain guest configuations), and new code/tools to detect migration issues.
- And lots more...

QEMU 2.0.0:

- Initial support for KVM on AArch64 systems (some features such as migration are not yet implemented).
- Support for all 64-bit mode ARMV8 user-accessible instructions except for the optional CRC and crypto extensions.
- Support for new 32-bit mode ARMv8 instructions in TCG.
- Support for the allwinner-a10-based board "-M cubieboard".
- Support for POWER Altivec 2.07 and VSX instructions when running under TCG.
- Support for boot order in pSeries emulation.
- The Q35 x86 machine-type now supports CPU hotplug.
- On the PIIX x86 machine-type, PCI hotplug now supports devices behind a bridge (for bridges not added by hotplug; hot-plugged bridges can still use the PCI Standard Hot-Plug Controller).
- Support for the Hyper-V reference time counter via the "hv-time" suboption of "-cpu". This can improve performance of Windows guests substantially for applications that do many floating-point or SIMD operations. (Requires KVM and Linux 3.14).
- ACPI tables generated by QEMU can now be used by OVMF firmware. OVMF starting with SVN r15420 is needed. In particular hotplug, pvpanic device and other ACPI based features now work for OVMF.
- PCI passthrough of devices with a ROM now work on Xen.
- support for suspend-to-RAM in the XHCI USB controller.
- GTK UI is now supported on Windows hosts.
- New management interfaces for CPU and virtio-rng hotplug.
- Improved reliability for live migration when using qcow2 images.
- Live snapshot merging.
- Experimental support in virtio-blk for M:N threading model: if you specify x-dataplane=on, you can also create I/O threads with "-object iothread" and point virtio-blk devices to the desired iothread with the "x-iothread" property. Properties of the running iothreads can be queried with the QMP command "query-iothreads".
- Network block drivers (curl, iscsi, rbd, ssh, glusterfs) can be built as shared library modules with "--enable-modules" configure option.
- QEMU is now 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 and some raw devices.
- QEMU can access NFSv3 shares directly from userspace using libnfs.
- Improvements to the TCG optimizer make it produce faster code.
- Tracing QEMU via LTTng 2.x is now supported.
- And lots more...