ChangeLog/0.15: Difference between revisions

From QEMU
m (Link to git commits)
 
(8 intermediate revisions by 7 users not shown)
Line 1: Line 1:
= 0.15.1 =
* {{git|82b2b32}} Version 0.15.1
* {{git|4a81ab8}} qed: fix use-after-free during l2 cache commit
* {{git|68e3508}} sdl: Fix termination in -no-shutdown mode
* {{git|fb52404}} Fix termination by signal with -no-shutdown
* {{git|3363983}} Add support for finding libpng via pkg-config.
* {{git|672aefe}} Check for presence of compiler -pthread flag.
* {{git|6a10ccc}} Allow overriding the location of Samba's smbd.
* {{git|7095e71}} Fix linker scripts
* {{git|91b31d6}} Fix install(1) usage to be compatible with OpenBSD's install(1).
* {{git|b89f4a7}} Fix qjson test of solidus encoding
* {{git|fbdd7c8}} configure: Copy test data to build directory
* {{git|e19a4e8}} monitor: fix build breakage for !CONFIG_VNC
* {{git|ff5aced}} monitor: fix build breakage with --disable-vnc
* {{git|2af86a2}} Fix forcing multicast msgs to loopback on OpenBSD.
* {{git|a80f53a}} user: Restore debug usage message for '-d ?' in user mode emulation
= 0.15.0 =
= 0.15.0 =
== Targets ==
== Targets ==
* New targets added: LatticeMico32 and UniCore32.
* New targets added: Lattice Mico32 (LM32) and UniCore32.
 
=== ARM ===
=== ARM ===
* Many bugs in Neon and other ARMv6 and ARMv7 instructions have been fixed
* Many bugs in Neon and other ARMv6 and ARMv7 instructions have been fixed
Line 9: Line 27:
* New machine models: ARM Versatile Express (machine "vexpress-a9"), Sharp Zaurus SL-5500 (machine "collie")
* New machine models: ARM Versatile Express (machine "vexpress-a9"), Sharp Zaurus SL-5500 (machine "collie")


=== MIPS ===
=== LM32 ===
* Add me
* Basic support for LM32 EVR evaluation board
 
* Full-featured support for the Milkymist SoC including video rendering.
=== SH4 ===
* Almost complete opcode testsuite
* Add me
 
=== PPC ===
* Add me
 
=== s390x ===
* Add me


=== SPARC ===
=== SPARC ===
* Sparc32: Improvements to OpenBIOS make Solaris 8 boot possible.
* Sparc32: Improvements to OpenBIOS make Solaris 8 boot possible.
* Sparc64: fix sdivx and udivx instructions, enabling booting HelenOS up to the command prompt [http://repo.or.cz/w/qemu.git/commit/8e91ed308062e742610e4cfdfd4a09bc045ead45 (commit)].
* Sparc64: fix sdivx and udivx instructions, enabling booting HelenOS up to the command prompt {{git|8e91ed308062e742610e4cfdfd4a09bc045ead45}}.
* Minor Sparc32 and Sparc64 fixes.
* Minor Sparc32 and Sparc64 fixes.
=== x86 ===
* Xen support merged (http://blog.xen.org/index.php/2011/05/13/xen-support-upstreamed-to-qemu/)


== Hosts ==
== Hosts ==
Line 30: Line 44:
=== ARM ===
=== ARM ===
* Support QEMU's host C code being compiled in Thumb mode (as some gccs do by default)
* Support QEMU's host C code being compiled in Thumb mode (as some gccs do by default)
=== MIPS ===
* Add me
=== IA64 ===
* Add me


==KVM==
==KVM==
Line 50: Line 58:
* Support for VIA CPU features
* Support for VIA CPU features
* Reworked & fixed MCE support
* Reworked & fixed MCE support
===PPC===
* ...
===s390x===
* ...


== Devices ==
== Devices ==
=== IDE / AHCI ===
* Add me
=== SCSI ===
* Add me
=== USB ===
* Add me
=== virtio ===
* Add me
==== virtio-serial ====
==== virtio-serial ====
* Various fixes for hot-unplug of ports
* Various fixes for hot-unplug of ports
Line 75: Line 65:
* Allow re-use of a chardev after a port using it gets unplugged
* Allow re-use of a chardev after a port using it gets unplugged
* Add trace events
* Add trace events
=== PCI/PCI Express ===
* Add me
=== Sound ===
* Add me
=== Video ===
* Add me


===RTC===
===RTC===
* MC146818 (for PCs): Follow host clock resets to the past immediately (instead of freezing the clock)
* 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 ==
== Block Layer ==
* Added missing -drive options to the man page
* Added missing -drive options to the man page
* Expose live snapshot support in QMP using the '''snapshot-blkdev-sync''' command [http://repo.or.cz/w/qemu.git/commitdiff/d967b2f (commit)]
* Expose live snapshot support in QMP using the '''snapshot-blkdev-sync''' command {{git|d967b2f}}
* 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. [http://repo.or.cz/w/qemu.git/commitdiff/46a4e4e (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. {{git|46a4e4e}}


=== qemu-img ===
=== qemu-img ===
* qemu-img convert and rebase now support the '''-p''' option which enables progress display [http://repo.or.cz/w/qemu.git/commitdiff/6b837bc (commit)]
* qemu-img convert and rebase now support the '''-p''' option which enables progress display {{git|6b837bc}}
* 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 [http://repo.or.cz/w/qemu.git/commitdiff/661a0f7 (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 {{git|661a0f7}}
* The performance of qemu-img convert has been improved [http://repo.or.cz/w/qemu.git/commitdiff/f6a00aa (commit)]
* The performance of qemu-img convert has been improved {{git|f6a00aa}}


=== Block Drivers ===
=== Block Drivers ===
==== qcow2 ====
==== qcow2 ====
* Improved the performance of creating/deleting internal snapshots [http://repo.or.cz/w/qemu.git/commitdiff/93913df (commit)]
* Improved the performance of creating/deleting internal snapshots {{git|93913df}}


==== qed ====
==== qed ====
* Support for growing images with '''qemu-img resize''' [http://repo.or.cz/w/qemu.git/commitdiff/77a5a0001bd9eaee9da7dc8f0b69702d56b0cc67 (commit)]
* Support for growing images with '''qemu-img resize''' {{git|77a5a0001bd9eaee9da7dc8f0b69702d56b0cc67}}
* Periodically flush and clear need check bit to reduce chance of leaving image files dirty on power failure [http://repo.or.cz/w/qemu.git/commitdiff/6f321e93abb27b4e7ceb228b4204aa304e95daad (commit)]
* Periodically flush and clear need check bit to reduce chance of leaving image files dirty on power failure {{git|6f321e93abb27b4e7ceb228b4204aa304e95daad}}
* Fix consistency check on 32-bit hosts [http://repo.or.cz/w/qemu.git/commitdiff/19dfc44a94f759848a0f7de7378b2f8b9af6b5d0 (commit)]
* Fix consistency check on 32-bit hosts {{git|19dfc44a94f759848a0f7de7378b2f8b9af6b5d0}}


==== VMDK ====
==== VMDK ====
* Support for the '''monolithicFlat''' subformat [http://repo.or.cz/w/qemu.git/commitdiff/7fa60fa (commit)]
* Support for the '''monolithicFlat''' subformat {{git|7fa60fa}}


==== Sheepdog ====
==== Sheepdog ====
* Can now preallocate images during creation [http://repo.or.cz/w/qemu.git/commitdiff/a8e0fdd (commit)]
* Can now preallocate images during creation {{git|a8e0fdd}}


==== RBD ====
==== RBD ====
* Use the higher level librbd instead of just librados [http://repo.or.cz/w/qemu.git/commitdiff/ad32e9c (commit)]
* Use the higher level librbd instead of just librados {{git|ad32e9c}}


=== IDE Emulation ===
=== IDE Emulation ===
* Added support for the TRIM command [http://repo.or.cz/w/qemu.git/commitdiff/d353fb7 (commit)]
* Added support for the TRIM command {{git|d353fb7}}
* Instead of the device ide-drive for both hard disks and CD-ROMs we have now separate '''ide-hd''' and '''ide-cd''' devices [http://repo.or.cz/w/qemu.git/commitdiff/1f56e32 (commit)]
* Instead of the device ide-drive for both hard disks and CD-ROMs we have now separate '''ide-hd''' and '''ide-cd''' devices {{git|1f56e32}}
* Fixed confusion between the Busmaster IDE status register and internal error state, which could lead to crashes [http://repo.or.cz/w/qemu.git/commitdiff/def9379 (commit)]
* Fixed confusion between the Busmaster IDE status register and internal error state, which could lead to crashes {{git|def9379}}


=== CDROM Emulation ===
=== CDROM Emulation ===
Line 127: Line 115:


=== virtio-blk ===
=== virtio-blk ===
* The serial number of the drive is now exposed as a qdev property [http://repo.or.cz/w/qemu.git/commitdiff/a8686a9 (commit)]
* The serial number of the drive is now exposed as a qdev property {{git|a8686a9}}


=== SCSI Disk Emulation ===
=== 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 [http://repo.or.cz/w/qemu.git/commitdiff/b443ae6 (commit)]
* Instead of the device scsi-disk for both hard disks and CD-ROMs we have now separate '''scsi-hd''' and '''scsi-cd''' devices {{git|b443ae6}}


==Networking==
==Networking==
Line 137: Line 125:
* Fixed DHCP support in restrict (host-only) mode
* Fixed DHCP support in restrict (host-only) mode
* Ping packet forwarding to external hosts via unprivileged ICMP sockets of Linux 3.0
* Ping packet forwarding to external hosts via unprivileged ICMP sockets of Linux 3.0
== Spice ==
* Add me


== QMP / Monitor ==
== QMP / Monitor ==
* Support for two new QMP commands: inject-nmi [http://repo.or.cz/w/qemu.git/commitdiff/a404666457b54142d6cfe8302bcded9be4cda379 (commit)] and snapshot-blkdev-sync [http://repo.or.cz/w/qemu.git/commitdiff/d967b2f14f238c24264fa73d02e9b0dde0b19506 (commit)]
* Support for two new QMP commands: inject-nmi {{git|a404666457b54142d6cfe8302bcded9be4cda379}} and snapshot-blkdev-sync {{git|d967b2f14f238c24264fa73d02e9b0dde0b19506}}
* Fixed some issues with the JSON parser (several commits, first one [http://repo.or.cz/w/qemu.git/commitdiff/ef749d07e717ca38b7d8b525c81d6b04db5f16ed here])
* Fixed some issues with the JSON parser (several commits, first one [http://repo.or.cz/w/qemu.git/commitdiff/ef749d07e717ca38b7d8b525c81d6b04db5f16ed here])
* Added the guest agent [http://repo.or.cz/w/qemu.git/commitdiff/e3d4d25206a13ca48936e4357a53591997ce6d57 (commit)]
* Added the guest agent {{git|e3d4d25206a13ca48936e4357a53591997ce6d57}}


== Tracing ==
== Tracing ==
* Make simpletrace.py a Python module for trace analysis scripts [http://blog.vmsplice.net/2011/03/how-to-write-trace-analysis-scripts-for.html (blog)], [http://repo.or.cz/w/qemu.git/commitdiff/59da66849215eccf1dce2154c84f217a3c39678b (commit)]
* Make simpletrace.py a Python module for trace analysis scripts [http://blog.vmsplice.net/2011/03/how-to-write-trace-analysis-scripts-for.html (blog)], {{git|59da66849215eccf1dce2154c84f217a3c39678b}}
* Make 'simple' backend thread-safe [http://repo.or.cz/w/qemu.git/commitdiff/0b5538c300a56c3cfb33022840fe0b4968147e7a (commit)]
* Make 'simple' backend thread-safe {{git|0b5538c300a56c3cfb33022840fe0b4968147e7a}}
* Add tracetool --probe-prefix optional argument to prefix DTrace probe names [http://repo.or.cz/w/qemu.git/commitdiff/e323c93edf3abb67c37b8e08b78da4835880f12e (commit)]
* Add tracetool --probe-prefix optional argument to prefix DTrace probe names {{git|e323c93edf3abb67c37b8e08b78da4835880f12e}}


== Linux-user ==
== Linux-user ==
Line 155: Line 140:
* Added support for ppoll, sched_{g,s}etaffinity, epoll, pselect6, prlimit64 syscalls
* Added support for ppoll, sched_{g,s}etaffinity, epoll, pselect6, prlimit64 syscalls
* Add s390x and unicore32 linux-user targets
* Add s390x and unicore32 linux-user targets
* Fix loading binaries from Linux/sparc64 rootfs  [http://repo.or.cz/w/qemu.git/commit/cf973e469bd9d47c0460347764c1315a6180e13c (commit)]
* Fix loading binaries from Linux/sparc64 rootfs  {{git|cf973e469bd9d47c0460347764c1315a6180e13c}}
* Numerous bugfixes
* Numerous bugfixes


== New build dependencies (mandatory and optional) ==
== New build dependencies (mandatory and optional) ==
* glib-2.0 (mandatory)
* glib-2.0 (mandatory).  Used only for guest agent so far, and on platforms that lack ucontext interface (e.g. BSD).
* libcurl 7.15.4 or better (optional, required for CURL block driver support)
* libcurl 7.15.4 or better (optional, required for CURL block driver support)
* spice 0.6.0 or better (optional)
* spice 0.6.0 or better (optional)
 
* libnss3 (network security services from Mozilla project) (unused?). Detected and linked for --enable-smartcard-nss, but apparently not used
== Other stuff ==
* Xen support merged (http://blog.xen.org/index.php/2011/05/13/xen-support-upstreamed-to-qemu/)

Latest revision as of 06:40, 13 October 2011

0.15.1

0.15.0

Targets

  • New targets added: Lattice Mico32 (LM32) 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")

LM32

  • Basic support for LM32 EVR evaluation board
  • Full-featured support for the Milkymist SoC including video rendering.
  • Almost complete opcode testsuite

SPARC

x86

Hosts

ARM

  • Support QEMU's host C code being compiled in Thumb mode (as some gccs do by default)

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

Devices

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

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 d967b2f)
  • 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 46a4e4e)

qemu-img

  • qemu-img convert and rebase now support the -p option which enables progress display (commit 6b837bc)
  • 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 661a0f7)
  • The performance of qemu-img convert has been improved (commit f6a00aa)

Block Drivers

qcow2

  • Improved the performance of creating/deleting internal snapshots (commit 93913df)

qed

VMDK

Sheepdog

RBD

IDE Emulation

  • Added support for the TRIM command (commit d353fb7)
  • Instead of the device ide-drive for both hard disks and CD-ROMs we have now separate ide-hd and ide-cd devices (commit 1f56e32)
  • Fixed confusion between the Busmaster IDE status register and internal error state, which could lead to crashes (commit def9379)

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 a8686a9)

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 b443ae6)

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

QMP / Monitor

Tracing

Linux-user

New build dependencies (mandatory and optional)

  • glib-2.0 (mandatory). Used only for guest agent so far, and on platforms that lack ucontext interface (e.g. BSD).
  • libcurl 7.15.4 or better (optional, required for CURL block driver support)
  • spice 0.6.0 or better (optional)
  • libnss3 (network security services from Mozilla project) (unused?). Detected and linked for --enable-smartcard-nss, but apparently not used