ChangeLog/1.1
System emulation
All targets
- qdev properties of type hex8 and hex32 used to accept hexadecimal values not prefixed with "0x"; the prefix is mandatory starting with this version. These properties are: iobase, membase, io_base for all devices that support the properties; vram_size for sysbus-g364 and SUNW,tcx; version for sb16 and iommu; ctl_iobase and data_iobase for fw_cfg; readback for debugcon; elcr_addr and elcr_mask for i8259.
PCI addresses can still be addressed with a pair of hexadecimal device and function without a "0x" prefix. - -kernel, -initrd and -append are now aliases for suboptions of -machine (for example -machine kernel=foo), and as such they are also available with -readconfig.
- PCI-to-PCI bridges are supported [...]
- PCI emulation includes a standrd hot-plug controller [...]
ARM
- The syborg machine type has been removed since the Symbian Virtual Platform is no longer relevant with the disbanding of Symbian.
- A device tree can be passed to the kernel using -dtb option (or alternatively -machine dtb=...).
- New 'nuri' and 'smbkc210' models of Samsung Exynos4210 based devboards
- New 'highbank' model of the Calxeda Highbank
- New 'vexpress-a15' model of the Versatile Express Cortex-A15
PowerPC
- Bamboo now works with TCG
- Pseries handles PCI
- Pseries works with PR KVM
S/390
- -kernel now also supports ELF binaries
- -kernel can boot new guest kernels
- Devices can now be hotplug add'ed (remove is not there yet)
x86
- NMIs are correctly injected through the LAPIC (rather than sent directly to the guest CPU) and respect the LINT1 mask, thus fixing kdump.
- The -rtc-td-hack option is now available as a qdev property (-global mc146818rtc.lost_tick_policy=slew) and as such can be specified in a -readconfig configuration file.
- When the system is suspended to RAM, QEMU will now stop executing the guest until a wakeup event occurs. Implemented wakeup events include key presses, mouse button presses, RTC alarm, ACPI timer expiration, serial console input (off by default; enable with -global isa-serial.wakeup=1), and the system_wakeup monitor command.
- KVM can optionally use kernel-based emulation of the local APIC, IOAPIC, i8259 PIC and i8254 PIT. This is supported with the -machine ...,kernel_irqchip=on command-line option. MSI is not supported yet when using the kernel_irqchip option.
- Emulation of a PC System Flash device. The feature is enabled by adding a pflash drive. This feature is not supported when KVM is enabled. See Features/PC System Flash for more information.
- KVM guests support Hyper-V enlightenments. These are enabled by the -cpu features hv_spinlocks, hv_relaxed and hv_vapic.
Device emulation
- The virtio-scsi device is now supported by QEMU. The guest driver will be supported in Linux starting at version 3.4.
- QEMU now includes experimental support for USB 3.0 (xHCI).
Audio devices
- Audio devices can now use volume control capabilities exposed by the PulseAudio and Spice backends. (Note: all audio devices do not expose their volume control unless --enable-mixemu is turned on).
Block devices
- QEMU's NBD client implementation and the qemu-nbd server both fully support asynchronous I/O.
- The new QMP command transaction can be used to perform a set of multiple snapshots atomically, rolling back to the original images if there is a problem along the way. See Features/SnapshotsMultipleDevices for more information.
- The new monitor command block_stream lets guest copy data from the backing file to the current image while the guest is running. This lets users enables quick provisioning of new virtual machines using shared remote storage, and lets the guest transition incrementally to fast local storage. An alternative to streaming is the copy-on-read option of the -drive command-line option, which only transfers data when the guest needs it.
- An experimental extension of the qcow2 file format has been introduced. With the implementation as of QEMU 1.1, the most important addition is zero clusters, which allows image streaming and copy-on-read to leave images sparse if the backing file they are copying from is sparse. In order to enable the extension, use qemu-img create -f qcow2 -o compat=1.1 <filename> <size> for creating the image. Note that older versions of QEMU won't be able to read such images.
Network devices
- QEMU supports a new type of network device, bridge (used with -net bridge or -netdev bridge). The new type is similar to tap, but uses a helper program instead of a script to attach the device to a bridge. The helper program can then be installed as setuid. The helper program supports a simple ACL and configuration mechanism, see the commit message and feature page for documentation.
Live Migration, Save/Restore
- Live migration (or save/restore) from QEMU releases prior to 0.13 to QEMU 1.1 is not supported
- Live migration supports IPv6. IPv6 addresses can be expressed as tcp:host:port. Brackets around a numeric host address are required if a port is also specified, otherwise they can be omitted.
Guest agent
- qemu-ga has been ported to Windows.
Host support
- System emulation on ARM hosts was broken in 1.0 and works again
- Sockets and SLIRP on Windows hosts was broken in 0.14 and works again
- 64-bit Windows hosts are now supported.
User-mode emulation
- User-mode emulation can provide some information from the /proc filesystem.
Build dependencies
- Building QEMU requires glib 2.12 on POSIX systems, and glib 2.20 on Win32 systems.