ChangeLog/2.1
(as of commit 2b5b7ae917e8db48431631b1c5d909fa46c223a6)
System emulation
Incompatible changes
- The 82573L NIC was incorrectly treated as an 8254xx model. It no longer works correctly on either Linux (3.14.*) or Windows 7 and has been removed.
Future incompatible changes
- Three options are using different names on the command line and in configuration file. In particular:
- The "acpi" configuration file section matches command-line option "acpitable";
- The "boot-opts" configuration file section matches command-line option "boot";
- The "smp-opts" configuration file section matches command-line option "smp".
- Starting with QEMU xyz.jkl, -readconfig will standardize on the name for the command line option.
ARM
- Firmware can be passed to the vexpress machine via -bios.
- Improvements to Allwinner SoC emulation.
- Initial support in TCG for EL2 and EL3.
- Much more complete support for AArch64.
LM32
Support for semihosting.
Microblaze
- Support for u-boot initrd images.
Power
- Support for VFIO (with guest-side IOMMU) on pSeries.
- Support for emulation of decimal number instructions.
- dump-guest-memory is supported for little endian ppc64
s390
- virtio-ccw supports migration
SPARC
- Improved IOMMU emulation.
x86
- QEMU now presents version 0x14 for the emulated local APIC, for consistency with KVM and improved compatibility with Mac OS X.
- More faithful SMBus controller emulation.
- More faithful CPL (current privilege level) emulation in TCG mode.
- More faithful MMU emulation in TCG mode, including support for 1GB pages and SMEP/SMAP bugfixes.
- Support for pinning memory on host NUMA nodes. The existing options "-mem-prealloc", "-mem-path", "-machine mem-merge" and "-machine dump-guest-core" are subsumed by the QOM objects "memory-backend-ram" and "memory-backend-file", and by the "memdev" option of "-numa node". This will be extended to other machines in future releases.
- Support for memory hotplug using the new "pc-dimm" device and the QOM objects "memory-backend-ram" and "memory-backend-file".
KVM
Xen
Xtensa
Device emulation and assignment
SCSI
- Support for MSI and MSI-X in the megasas emulation.
USB
- Support for file-sharing via MTP emulation
- Host USB3 device can be attached to a EHCI (USB 2.0) controller in the guest
- Support for attaching keyboards and mice to a specific video card (multi-seat).
VFIO
- Support for RTL8168 NICs.
GUI
- Many bug fixes for the GTK+ interface.
- Mouse wheel support for the SDL 2.0 interface.
- Support for multi-seat in the GTK+ and SDL 2.0 interfaces.
Monitor
- Ctrl-L (form feed) can be used to clear the screen in the monitor.
- More commands support command-line completion.
- New monitor command "info memdev" (with the QMP counterpart "query-memdev").
- New QMP command "query-acpi-ospm-status" and event "ACPI_DEVICE_OST" provide information from the guest's invocation of the _OST method.
Migration
- Many fixes to XBZRLE.
Network
- Improved emulation of link auto-negotiation fixes bugs in Mac OS X.
- More variants of the e1000 NIC are supported (e1000-82540em, e1000-82544gc, e1000-82545em). The default e1000 fails with versions of Mac OS X starting at 10.9, while the new e1000-82545em works with all versions of Mac OS X starting at 10.6.
- New "vhost-user" backend for -net and -netdev.
Block devices in system emulation
- Filenames can be JSON objects preceded by "json:", for example json:{'driver':'raw','file.filename':'test.img'}. This new syntax can be used in the file property for -drive, but also in qemu-io, qemu-img or backing file names.
- The threaded backend for virtio-blk, introduced in QEMU 1.4, now supports almost all features of the block layer including: image formats, POSIX AIO (aio=threads), I/O throttling. It also does not require anymore manually setting config-wce=off. It is still considered experimental and is still missing support for long-running jobs (streaming, mirroring, snapshot deletion, backup, etc.).
Various
- Non-contiguous host CPUs can be assigned to a single NUMA node. Commas in the CPU list have to be escaped, as in "-numa node,cpus=0-3,,4-7"
Block devices and tools
- Support for compressed (streamOptimized) VMDK images as conversion targets.
TCG
- Improvement to AArch64, Alpha, ia64, MIPS, S390 and SPARC backends.
Tracing
- Support for enabling multiple trace backends using for example "--enable-trace-backends=simple,ftrace" on the configure command line.
User-mode emulation
- Improved support for FreeBSD.
- Support for opening /proc/self/exe.
- New target ppc64le-linux-user, for little-endian Power platforms.