ChangeLog/0.15: Difference between revisions
(→qed) |
m (Link to git commits) |
||
(24 intermediate revisions by 13 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: | * New targets added: Lattice Mico32 (LM32) and UniCore32. | ||
=== ARM === | === 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 === | === 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 {{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 == | ||
=== ARM === | === ARM === | ||
* | * Support QEMU's host C code being compiled in Thumb mode (as some gccs do by default) | ||
==KVM== | ==KVM== | ||
Line 46: | Line 59: | ||
* Reworked & fixed MCE support | * 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 {{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. {{git|46a4e4e}} | |||
=== qemu-img === | |||
* 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 {{git|661a0f7}} | |||
* The performance of qemu-img convert has been improved {{git|f6a00aa}} | |||
=== | === Block Drivers === | ||
* | ==== qcow2 ==== | ||
* Improved the performance of creating/deleting internal snapshots {{git|93913df}} | |||
=== | ==== qed ==== | ||
* | * 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 {{git|6f321e93abb27b4e7ceb228b4204aa304e95daad}} | |||
* Fix consistency check on 32-bit hosts {{git|19dfc44a94f759848a0f7de7378b2f8b9af6b5d0}} | |||
=== | ==== VMDK ==== | ||
* | * Support for the '''monolithicFlat''' subformat {{git|7fa60fa}} | ||
=== | ==== Sheepdog ==== | ||
* | * Can now preallocate images during creation {{git|a8e0fdd}} | ||
=== | ==== RBD ==== | ||
* | * Use the higher level librbd instead of just librados {{git|ad32e9c}} | ||
=== | === IDE Emulation === | ||
* | * 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 {{git|1f56e32}} | |||
* Fixed confusion between the Busmaster IDE status register and internal error state, which could lead to crashes {{git|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 {{git|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 {{git|b443ae6}} | ||
==Networking== | ==Networking== | ||
Line 92: | Line 126: | ||
* 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 | ||
== | == QMP / Monitor == | ||
* | * 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]) | |||
* Added the guest agent {{git|e3d4d25206a13ca48936e4357a53591997ce6d57}} | |||
== | == Tracing == | ||
* Add | * 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 {{git|0b5538c300a56c3cfb33022840fe0b4968147e7a}} | |||
* Add tracetool --probe-prefix optional argument to prefix DTrace probe names {{git|e323c93edf3abb67c37b8e08b78da4835880f12e}} | |||
== | == 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 {{git|cf973e469bd9d47c0460347764c1315a6180e13c}} | |||
* Numerous bugfixes | |||
== | == 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 |
Latest revision as of 06:40, 13 October 2011
0.15.1
- (commit
82b2b32
) Version 0.15.1 - (commit
4a81ab8
) qed: fix use-after-free during l2 cache commit - (commit
68e3508
) sdl: Fix termination in -no-shutdown mode - (commit
fb52404
) Fix termination by signal with -no-shutdown - (commit
3363983
) Add support for finding libpng via pkg-config. - (commit
672aefe
) Check for presence of compiler -pthread flag. - (commit
6a10ccc
) Allow overriding the location of Samba's smbd. - (commit
7095e71
) Fix linker scripts - (commit
91b31d6
) Fix install(1) usage to be compatible with OpenBSD's install(1). - (commit
b89f4a7
) Fix qjson test of solidus encoding - (commit
fbdd7c8
) configure: Copy test data to build directory - (commit
e19a4e8
) monitor: fix build breakage for !CONFIG_VNC - (commit
ff5aced
) monitor: fix build breakage with --disable-vnc - (commit
2af86a2
) Fix forcing multicast msgs to loopback on OpenBSD. - (commit
a80f53a
) user: Restore debug usage message for '-d ?' in user mode emulation
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
- Sparc32: Improvements to OpenBIOS make Solaris 8 boot possible.
- Sparc64: fix sdivx and udivx instructions, enabling booting HelenOS up to the command prompt (commit
8e91ed308062e742610e4cfdfd4a09bc045ead45
). - Minor Sparc32 and Sparc64 fixes.
x86
- Xen support merged (http://blog.xen.org/index.php/2011/05/13/xen-support-upstreamed-to-qemu/)
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
- Support for growing images with qemu-img resize (commit
77a5a0001bd9eaee9da7dc8f0b69702d56b0cc67
) - Periodically flush and clear need check bit to reduce chance of leaving image files dirty on power failure (commit
6f321e93abb27b4e7ceb228b4204aa304e95daad
) - Fix consistency check on 32-bit hosts (commit
19dfc44a94f759848a0f7de7378b2f8b9af6b5d0
)
VMDK
- Support for the monolithicFlat subformat (commit
7fa60fa
)
Sheepdog
- Can now preallocate images during creation (commit
a8e0fdd
)
RBD
- Use the higher level librbd instead of just librados (commit
ad32e9c
)
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
- Support for two new QMP commands: inject-nmi (commit
a404666457b54142d6cfe8302bcded9be4cda379
) and snapshot-blkdev-sync (commitd967b2f14f238c24264fa73d02e9b0dde0b19506
) - Fixed some issues with the JSON parser (several commits, first one here)
- Added the guest agent (commit
e3d4d25206a13ca48936e4357a53591997ce6d57
)
Tracing
- Make simpletrace.py a Python module for trace analysis scripts (blog), (commit
59da66849215eccf1dce2154c84f217a3c39678b
) - Make 'simple' backend thread-safe (commit
0b5538c300a56c3cfb33022840fe0b4968147e7a
) - Add tracetool --probe-prefix optional argument to prefix DTrace probe names (commit
e323c93edf3abb67c37b8e08b78da4835880f12e
)
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
cf973e469bd9d47c0460347764c1315a6180e13c
) - Numerous bugfixes
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