ChangeLog/0.15
0.15.0
Targets
- New targets added: LatticeMico32 and UniCore32.
ARM
- Many bugs in Neon and other ARMv6 and ARMv7 instructions have been fixed
- Floating point instructions now generally handle NaNs and floating point status flags correctly
- Dummy implementations of cp15 performance counters and cp14 debug registers mean we can boot more recent Linux kernels that probe for these features
- SA-1110/SA-1100 support has been added
- New machine models: ARM Versatile Express (machine "vexpress-a9"), Sharp Zaurus SL-5500 (machine "collie")
MIPS
- Add me
SH4
- Add me
PPC
- Add me
s390x
- Add me
SPARC
- Sparc32: Improvements to OpenBIOS make Solaris 8 boot possible.
- Sparc64: fix sdivx and udivx instructions, enabling booting HelenOS up to the command prompt (commit).
- Minor Sparc32 and Sparc64 fixes.
Hosts
ARM
- Support QEMU's host C code being compiled in Thumb mode (as some gccs do by default)
MIPS
- Add me
IA64
- Add me
KVM
Common
- Countless fixes ported over from qemu-kvm, core is now shared with that tree, i.e. has the same quality
- Pimped up threading model, now fully synchronized with qemu-kvm tree
- Removed dependency on external kernel headers, all supported KVM features are now built into the binary
x86
- Paravirtual kvmclock fixes
- Stable guest TSC across migration
- Support for SMEP CPU feature
- Support for VIA CPU features
- Reworked & fixed MCE support
PPC
- ...
s390x
- ...
Devices
IDE / AHCI
- Add me
SCSI
- Add me
USB
- Add me
virtio
- Add me
virtio-serial
- Various fixes for hot-unplug of ports
- Disallow generic ports at id 0: port number 0 is reserved for console ports for backward compatibility; '-device virtserialport,nr=0' is now not allowed.
- Allow re-use of a chardev after a port using it gets unplugged
- Add trace events
PCI/PCI Express
- Add me
Sound
- Add me
Video
- Add me
RTC
- MC146818 (for PCs): Follow host clock resets to the past immediately (instead of freezing the clock)
Balloon
- Fix use-after-free bug that lead to qemu crash when 'balloon 0' was issued in the monitor
- Multiple balloon devices are now forbidden; it doesn't make sense to have more than one device at a time.
- Negative balloon values are now rejected. The previous behaviour was to silently deflate the balloon (negative values were parsed as very high positive values)
- Fix memory leaks on exit or unplug of the virtio-balloon device
- Fix migration after unplugging of the virtio-balloon device. Previously, the destination aborted migration for a missing section.
Block Layer
- Added missing -drive options to the man page
- Expose live snapshot support in QMP using the snapshot-blkdev-sync command (commit)
- Fixed removable media support to not cache the media size. Before this fix, the guest OS would see the old CD-ROM size even after changing the medium. (commit)
qemu-img
- qemu-img convert and rebase now support the -p option which enables progress display (commit)
- qemu-img commit, convert and rebase now support the -t option which allows to specify a cache mode that should be used to open the image (commit)
- The performance of qemu-img convert has been improved (commit)
Block Drivers
qcow2
- Improved the performance of creating/deleting internal snapshots (commit)
qed
- Support for growing images with qemu-img resize (commit)
- Periodically flush and clear need check bit to reduce chance of leaving image files dirty on power failure (commit)
- Fix consistency check on 32-bit hosts (commit)
VMDK
- Support for the monolithicFlat subformat (commit)
Sheepdog
- Can now preallocate images during creation (commit)
RBD
- Use the higher level librbd instead of just librados (commit)
IDE Emulation
- Added support for the TRIM command (commit)
- Instead of the device ide-drive for both hard disks and CD-ROMs we have now separate ide-hd and ide-cd devices (commit)
- Fixed confusion between the Busmaster IDE status register and internal error state, which could lead to crashes (commit)
CDROM Emulation
- Many fixes to comply with ATAPI specification
- GET_EVENT_STATUS_NOTIFICATION: Implement 'media' subcommand that helps report tray open/close, media present/absent states to guests. Newer Linux guests (kernels 2.6.38+) rely on this command to revalidate discs.
- Major code refactoring and cleanup
virtio-blk
- The serial number of the drive is now exposed as a qdev property (commit)
SCSI Disk Emulation
- Instead of the device scsi-disk for both hard disks and CD-ROMs we have now separate scsi-hd and scsi-cd devices (commit)
Networking
User space (slirp)
- Fixed DHCP support in restrict (host-only) mode
- Ping packet forwarding to external hosts via unprivileged ICMP sockets of Linux 3.0
Spice
- Add me
QMP / Monitor
- Support for two new QMP commands: inject-nmi (commit) and snapshot-blkdev-sync (commit)
- Fixed some issues with the JSON parser (several commits, first one here)
- Added the guest agent (commit)
Tracing
- Make simpletrace.py a Python module for trace analysis scripts (blog), (commit)
- Make 'simple' backend thread-safe (commit)
- Add tracetool --probe-prefix optional argument to prefix DTrace probe names (commit)
Linux-user
- Added support for ppoll, sched_{g,s}etaffinity, epoll, pselect6, prlimit64 syscalls
- Add s390x and unicore32 linux-user targets
- Fix loading binaries from Linux/sparc64 rootfs (commit)
- Numerous bugfixes
New build dependencies (mandatory and optional)
- glib-2.0 (mandatory)
- libcurl 7.15.4 or better (optional, required for CURL block driver support)
- spice 0.6.0 or better (optional)
Other stuff
- Xen support merged (http://blog.xen.org/index.php/2011/05/13/xen-support-upstreamed-to-qemu/)