ChangeLog/old

From QEMU

See git history for Changelogs of recent releases.

Version 0.12.5

 - audio/alsa: Handle SND_PCM_STATE_SETUP in alsa_poll_handler
 - block: Handle multiwrite errors only when all requests have completed
 - block: Fix early failure in multiwrite
 - vpc: Use bdrv_(p)write_sync for metadata writes
 - vmdk: Use bdrv_(p)write_sync for metadata writes
 - qcow2: Use bdrv_(p)write_sync for metadata writes
 - qcow: Use bdrv_(p)write_sync for metadata writes
 - block: Add bdrv_(p)write_sync
 - qcow2: Restore L1 entry on l2_allocate failure
 - block/vdi: Fix image opening and creation for odd disk sizes
 - block/vpc: Fix conversion from size to disk geometry
 - qcow2: Remove abort on free_clusters failure
 - vmdk: Fix COW
 - qcow2: Fix creation of large images
 - vmdk: fix double free
 - qemu-options: add documentation for stdio signal=on|off
 - target-arm : fix parallel saturated subtraction implementation
 - target-arm : fix thumb2 parallel add/sub opcode decoding
 - target-arm: fix addsub/subadd implementation
 - target-i386: fix xchg rax,r8
 - block/vvfat.c: fix warnings with _FORTIFY_SOURCE
 - audio/alsa: Spelling typo (paramters)
 - target-mips: fix DINSU instruction
 - Correct definitions for FD_CMD_SAVE and FD_CMD_RESTORE
 - qcow2: Fix corruption after error in update_refcount
 - qcow2: Fix corruption after refblock allocation
 - block: Fix multiwrite with overlapping requests
 - qcow2: Fix error handling in l2_allocate
 - qcow2: Clear L2 table cache after write error
 - ide: Fix ide_dma_cancel
 - usb-bus: fix no params
 - Avoid crash on '-usbdevice <device>' without parameters
 - Fix -usbdevice crash
 - Fix multiboot compilation
 - Fix missing symbols in .rel/.rela.plt sections
 - target-ppc: fix RFI by clearing some bits of MSR
 - Fix typo in balloon help
 - arm_timer: fix oneshot mode
 - arm_timer: reload timer when enabled
 - qemu-sockets: avoid strlen of NULL pointer
 - block: fix aio_flush segfaults for read-only protocols (e.g. curl)
 - virtio-blk: fix barrier support
 - block: fix sector comparism in multiwrite_req_compare
 - pci: irq_state vmstate breakage
 - qemu-img: use the heap instead of the huge stack array for win32

Version 0.12.4

 - Workaround for broken OSS_GETVERSION on FreeBSD, part two (Juergen Lock)
 - oss: fix fragment setting (malc)
 - oss: issue OSS_GETVERSION ioctl only when needed (malc)
 - oss: refactor code around policy setting (malc)
 - oss: workaround for cases when OSS_GETVERSION is not defined (malc)
 - block: Free iovec arrays allocated by multiwrite_merge() (Stefan Hajnoczi)
 - lsi: fix segfault in lsi_command_complete (Gerd Hoffmann)
 - lsi: pass lsi_request to lsi_reselect (Gerd Hoffmann)
 - lsi: move dma_len+dma_buf into lsi_request (Gerd Hoffmann)
 - lsi: move current_dev into lsi_request (Gerd Hoffmann)
 - lsi: have lsi_request for the whole life time of the request. (Gerd Hoffmann)
 - lsi: use QTAILQ for lsi_queue (Gerd Hoffmann)
 - tcp/mips: Change TCG_AREG0 (fp -> s0) (Stefan Weil)
 - sh_pci: fix memory and I/O access (Aurelien Jarno)
 - Fix incoming migration with iothread (Marcelo Tosatti)
 - Fix SIGFPE for vnc display of width/height = 1 (Chris Webb)
 - net: remove broken net_set_boot_mask() boot device validation (Eduardo Habkost)
 - qcow2: Remove request from in-flight list after error (Kevin Wolf)
 - qcow2: Don't ignore immediate read/write failures (Kevin Wolf)
 - block: Fix multiwrite memory leak in error case (Kevin Wolf)
 - block: Fix error code in multiwrite for immediate failures (Kevin Wolf)
 - block: Fix multiwrite error handling (Kevin Wolf)
 - scsi-disk: fix buffer overflow (Gerd Hoffmann)
 - qcow2: Rewrite alloc_refcount_block/grow_refcount_table (Kevin Wolf)
 - qcow2: Factor next_refcount_table_size out (Kevin Wolf)
 - block: avoid creating too large iovecs in multiwrite_merge (Christoph Hellwig)
 - json-parser: Fix segfault on malformed input (Kevin Wolf)
 - linux-user: switch default ppc64 CPU to 970fx from 970 (Aurelien Jarno)
 - target-sh4: MMU: fix store queue addresses (Aurelien Jarno)
 - target-sh4: MMU: fix ITLB priviledge check (Aurelien Jarno)
 - target-sh4: MMU: fix mem_idx computation (Aurelien Jarno)
 - sh7750: handle MMUCR TI bit (Aurelien Jarno)
 - UHCI spurious interrut fix (Paul Brook)
 - tcg/mips: fix branch offset during retranslation (Aurelien Jarno)
 - tcg/arm: correctly save/restore registers in prologue/epilogue (Aurelien Jarno)
 - workaround for cmd646 bmdma register access while no dma is active (Igor V. Kovalenko)
 - Fix corner case in chardev udp: parameter (Jan Kiszka)
 - Don't set default monitor when there is a mux'ed one (Jan Kiszka)
 - spelling typo (compatibilty) in hw/fw_cfg.c (Vagrant Cascadian)
 - fdc: fix drive property handling. (Gerd Hoffmann)
 - target-i386: fix commit c22549204a6edc431e8e4358e61bd56386ff6957 (TeLeMan)
 - target-i386: fix SIB decoding with index = 4 (Aurelien Jarno)
 - Fix segfault with ram_size > 4095M without kvm (Ryan Harper)
 - target-i386: Fix long jumps/calls in long mode with REX.W set (malc)
 - target-i386: fix lddqu SSE instruction (Aurelien Jarno)
 - qemu-char.c: drop debug printfs from qemu_chr_parse_compat (Jan Kiszka)
 - fix undefined shifts by >32 (Paolo Bonzini)
 - Fix qemu -net user,hostfwd= example (Aurelien Jarno)

Version 0.12.3

 - kvm: Fix eflags corruption in kvm mode (Jan Kiszka)
 - qcow2: Fix access after end of array (Kevin Wolf)
 - ide save/restore pio/atapi cmd transfer fields and io buffer (Marcelo Tosatti)
 - net: Monitor command set_link finds only VLAN clients, fix (Markus Armbruster)
 - net: info network shows only VLAN clients, fix (Markus Armbruster)
 - net: net_check_clients() checks only VLAN clients, fix (Markus Armbruster)
 - net: Fix bogus "Warning: vlan 0 with no nics" with -device (Markus Armbruster)
 - net: net_check_clients() runs too early to see -device, fix (Markus Armbruster)
 - net: Remove unused net_client_uninit() (Markus Armbruster)
 - don't dereference NULL after failed strdup (Jim Meyering)
 - virtio-net: fix network stall under load (Tom Lendacky)
 - json: fix PRId64 on Win32 (Roy Tam)
 - fix inet_parse typo (Marcelo Tosatti)
 - iothread: fix vcpu stop with smp tcg (Marcelo Tosatti)
 - segfault due to buffer overrun in usb-serial (David S. Ahern)
 - qcow2: Fix signedness bugs (Kevin Wolf)
 - Do not ignore error, if open file failed (-serial /dev/tty) (Evgeniy Dushistov)
 - pc-bios: update to newer version of (stable) seabios (Anthony Liguori)
 - target-mips: fix ROTR and DROTR by zero (Aurelien Jarno)
 - target-mips: fix CpU exception for coprocessor 0 (Nathan Froyd)
 - tcg/mips: fix crash in tcg_out_qemu_ld() (Aurelien Jarno)
 - target-mips: don't call cpu_loop_exit() from helper.c (Aurelien Jarno)
 - virtio-blk: Fix error cases which ignored rerror/werror (Kevin Wolf)
 - virtio-blk: Fix restart after read error (Kevin Wolf)
 - virtio_blk: Factor virtio_blk_handle_request out (Kevin Wolf)
 - cirrus: Properly re-register cirrus_linear_io_addr on vram unmap (Jan Kiszka)
 - qcow2: Don't ignore qcow2_alloc_clusters return value (Kevin Wolf)
 - qcow2: Don't ignore update_refcount return value (Kevin Wolf)
 - qcow2: Allow updating no refcounts (Kevin Wolf)
 - qcow2: Improve error handling in update_refcount (Kevin Wolf)
 - qcow2: Fix error handling in grow_refcount_table (Kevin Wolf)
 - block: Return original error codes in bdrv_pread/write (Kevin Wolf)
 - qcow2: Return 0/-errno in qcow2_alloc_cluster_offset (Kevin Wolf)
 - qcow2: Return 0/-errno in get_cluster_table (Kevin Wolf)
 - qcow2: Fix error handling in qcow_save_vmstate (Kevin Wolf)
 - qcow2: Fix error handling in qcow2_grow_l1_table (Kevin Wolf)
 - win32/sdl: Fix toggle full screen (Herve Poussineau)
 - win32: pair qemu_memalign() with qemu_vfree() (Herve Poussineau)
 - vnc_refresh: calling vnc_update_client might free vs (Stefano Stabellini)
 - Musicpal: Fix descriptor walk in eth_send (Jan Kiszka)
 - Musicpal: Fix wm8750 I2C address (Jan Kiszka)
 - fix savevm command without id or tag (Marcelo Tosatti)
 - reduce number of reinjects on ACK (Gleb Natapov)
 - QMP: Fix asynchronous events delivery (Luiz Capitulino)
 - Documentation: Add missing documentation for qdev related command line options (Stefan Weil)
 - pc: add driver version compat properties (Gerd Hoffmann)
 - scsi: device version property (Gerd Hoffmann)
 - ide: device version property (Gerd Hoffmann)
 - QMP: Emit asynchronous events on all QMP monitors (Adam Litke)
 - Fix QEMU_WARN_UNUSED_RESULT (Kevin Wolf)

Version 0.12.2

 - Qemu's internal TFTP server breaks lock-step-iness of TFTP (Milan Plzik)
 - osdep.c: Fix accept4 fallback (Kevin Wolf)
 - pc: add rombar to compat properties for pc-0.10 and pc-0.11 (Gerd Hoffmann)
 - pci: allow loading roms via fw_cfg. (Gerd Hoffmann)
 - roms: rework rom loading via fw (Gerd Hoffmann)
 - fw_cfg: rom loader tweaks. (Gerd Hoffmann)
 - roms: minor fixes and cleanups. (Gerd Hoffmann)
 - pc: add machine type for 0.12 (Gerd Hoffmann)
 - loader: more ignores for rom intended to be loaded by the bios (Aurelien Jarno)
 - vnc_refresh: return if vd->timer is NULL (Stefano Stabellini)
 - QMP: Don't free async event's 'data' (Luiz Capitulino)
 - Handle TFTP ERROR from client (Thomas Horsten)
 - dmg: fix ->open failure (Christoph Hellwig)
 - virtio-pci: thinko fix (Michael S. Tsirkin)
 - pc-bios: Update README (SeaBIOS) (Stefan Weil)
 - vmware_vga: Check cursor dimensions passed from guest to avoid buffer overflow (Roland Dreier)
 - remove pending exception on vcpu reset. (Gleb Natapov)
 - Fix CPU topology initialization (Jiri Denemark)
 - MCE: Fix bug of IA32_MCG_STATUS after system reset (Huang Ying)
 - linuxboot: fix gdt address calculation (Avi Kivity)
 - QMP: Drop wrong assert() (Luiz Capitulino)
 - vnc: Fix artifacts in hextile decoding (Anthony Liguori)
 - target-i386: Fix "call im" on x86_64 when executing 32-bit code (Aurelien Jarno)
 - Add missing newline at the end of options list (Michael Tokarev)
 - Don't load options roms intended to be loaded by the bios in qemu (Avi Kivity)
 - USB: Improve usbdevice error messages (Scott Tsai)
 - cpu-all.h: fix cpu_get_real_ticks() #ifdef (Aurelien Jarno)
 - alpha: fix compile (Blue Swirl)
 - user_only: compile everything with -fpie (Kirill A. Shutemov)
 - fdc/sparc32: don't hang on detection under OBP (Artyom Tarasenko)
 - scsi-disk: Inquiry with allocation length of CDB < 36 (v4) (Artyom Tarasenko)
 - e1000: fix init values for command register (Michael S. Tsirkin)

Version 0.12.1

 - loader: fix rom loading at address 0 (fixes target-arm) (Aurelien Jarno)
 - loader: fix rom_copy (fixes multiboot) (Kevin Wolf)

Version 0.12.0

 - Update to SeaBIOS 0.5.0
 - e1000: fix device link status in Linux (Anthony Liguori)
 - monitor: fix QMP for balloon command (Luiz Capitulino)
 - QMP: Return an empty dict by default (Luiz Capitulino)
 - QMP: Only handle converted commands (Luiz Capitulino)
 - pci: support PCI based option rom loading (Gerd Hoffman/Anthony Liguori)
 - Fix backcompat for hotplug of SCSI controllers (Daniel P. Berrange)
 - fdc: fix migration from 0.11 (Juan Quintela)
 - vmware-vga: fix segv on cursor resize. (Dave Airlie)
 - vmware-vga: various fixes (Dave Airlie/Anthony Liguori)
 - qdev: improve property error reporting. (Gerd Hoffmann)
 - fix vga names in default_list (Gerd Hoffmann)
 - usb-host: check mon before using it. (Gerd Hoffmann)
 - usb-net: use qdev for -usbdevice (Gerd Hoffmann)
 - monitor: Catch printing to non-existent monitor (Luiz Capitulino)
 - Avoid permanently disabled QEMU monitor when UNIX migration fails (Daniel P. Berrange)
 - Fix loading of ELF multiboot kernels (Kevin Wolf)
 - qemu-io: Fix memory leak (Kevin Wolf)
 - Fix thinko in linuxboot.S (Paolo Bonzini)
 - target-i386: Fix evaluation of DR7 register (Jan Kiszka)
 - vnc: hextile: do not generate ForegroundSpecified and SubrectsColoured tiles (Anthony Liguori)
 - S390: Bail out without KVM (Alexander Graf)
 - S390: Don't tell guest we're updating config space (Alexander Graf)
 - target-s390: Fail on unknown instructions (Alexander Graf)
 - osdep: Fix runtime failure on older Linux kernels (Andre Przywara)
 - Fix a make -j race (Juergen Lock)
 - target-alpha: Fix generic ctz64. (Richard Henderson)
 - s390: Fix buggy assignment (Stefan Weil)
 - target-mips: fix user-mode emulation startup (Nathan Froyd)
 - target-i386: Update CPUID feature set for TCG (Andre Przywara)
 - s390: fix build on 32 bit host (Michael S. Tsirkin)

Version 0.12.0-rc2

 - v2: properly save kvm system time msr registers (Glauber Costa)
 - convert more monitor commands to qmp (Luiz Capitulino)
 - vnc: fix capslock tracking logic. (Gerd Hoffmann)
 - QemuOpts: allow larger option values. (Gerd Hoffmann)
 - scsi: fix drive hotplug. (Gerd Hoffmann)
 - pci: don't hw_error() when no slot is available. (Gerd Hoffmann)
 - pci: don't abort() when trying to hotplug with acpi off. (Gerd Hoffmann)
 - allow default devices to be implemented in config file (Gerd Hoffman)
 - vc: colorize chardev title line with blue background. (Gerd Hoffmann)
 - chardev: make chardevs specified in config file work. (Gerd Hoffmann)
 - qdev: also match bus name for global properties (Gerd Hoffmann)
 - qdev: add command line option to set global defaults for properties. (Gerd Hoffmann)
 - kvm: x86: Save/restore exception_index (Jan Kiszka)
 - qdev: Replace device names containing whitespace (Markus Armbruster)
 - fix rtc-td-hack on host without high-res timers (Gleb Natapov)
 - virtio: verify features on load (Michael S. Tsirkin)
 - vmware_vga: add rom file so that it boots. (Dave Airlie)
 - Do not abort on qemu_malloc(0) in production builds (Anthony Liguori)
 - Fix ARM userspace strex implementation. (Paul Brook)
 - qemu: delete rule target on error (Michael S. Tsirkin)
 - QMP: add human-readable description to error response (Markus Armbruster)
 - convert more monitor commands to QError (Markus Armbruster)
 - monitor: Fix double-prompt after "change vnc passwd BLA" (Markus Armbruster)
 - monitor: do_cont(): Don't ask for passwords (Luiz Capitulino)
 - monitor: Introduce 'block_passwd' command (Luiz Capitulino)
 - pci: interrupt disable bit support (Michael S. Tsirkin)
 - pci: interrupt status bit implementation (Michael S. Tsirkin)
 - pci: prepare irq code for interrupt state (Michael S. Tsirkin)
 - msix: function mask support (Michael S. Tsirkin)
 - msix: macro rename for function mask support (Michael S. Tsirkin)
 - cpuid: Fix multicore setup on Intel (Andre Przywara)
 - kvm: x86: Fix initial kvm_has_msr_star (Jan Kiszka)
 - Update OpenBIOS images to r640 (Aurelien Jarno)

Version 0.11.1

 - fix I2C slave addressing (Juha Riihimaki)
 - Revert "vga: do not resize the screen on hw_invalidate" (Aurelien Jarno)
 - slirp: fix use-after-free (Mark McLoughlin)
 - Fix sparc.ld (Blue Swirl)
 - ELF codedump build failures (Laurent Desnogues)
 - kvm: Move KVM mp_state accessors to i386-specific code (Hollis Blanchard)
 - fix configure script with armv4l cpu (Laurent Desnogues)
 - net: disable draining tap queue in one go (Mark McLoughlin)
 - pcnet: Restart poll timer on pcnet_start (Jan Kiszka)
 - Sparc32: Fix lance (Blue Swirl)
 - mac99: fix segmentation fault on startup (Aurelien Jarno)
 - usb-linux.c: fix buffer overflow (Jim Paris)
 - ARM host: fix generated blocks linking (Laurent Desnogues)
 - qemu serial: lost tx irqs (affecting FreeBSD's new uart(4) driver (Juergen Lock)
 - exec-all.h: increase MAX_OP_PER_INSTR to 96 from 64 (Aurelien Jarno)

Version 0.11.0

 - fix rtc polling mode (Bernhard Kauer)
 - qcow2: order concurrent aio requests (Kevin Wolf)
 - qemu-io: port to win32 (Stefan Weil)
 - alpha: fix extlh instruction (Vince Weaver)
 - tcg: fix size of local variables in tcg_gen_bswap64_i64 (Stefan Weil)
 - net: fix send ordering (Jan Kiszka)
 - escc: fix IRQ routing (Aurelien Jarno)
 - versatile: fix Linux task preemption (Aurelien Jarno)
 - curses: reduce memory usage by 250MB (Aurelien Jarno)

Version 0.11.0-rc2

 - mips: fix conditional move off fp conditions codes (Nath Froyd)
 - fix migration to obey -S (Paolo Bonzini)
 - remove pc-0-10 machine type (Mark McLoughlin)
 - vnc: fix copyrect screen corruption (Gerd Hoffman)
 - fix vm state change handlers running order (Markus Armbruster)
 - e1000: fix eerc and ics emulation (Bill Paul)
 - fix sdl zooming with pl110 (Blue Swirl)
 - sparc64: flush pending conditional evaluations (Igor Kovalenko)
 - esp: fix interrupt register read (Blue Swirl)
 - option rom makefile fixes (Paul Brook)
 - fix sparse warnings (Blue Swirl)
 - fix symfind (Laurent Desnogues)
 - win32: fix default prefix (Stefan Weil)
 - fix checksum writing in signboot (Alex Graf)
 - fix sdl window resize (Stefano Stabellini)
 - do not resize the screen on hw_invalidate (Stefano Stabellini)
 - Add checks for -smbios option (Beth Kon)
 - fix do_set_link (Luiz Capitulino)
 - fix do_commit behavior (Luiz Capitulino)
 - make windows notice media change (Gleb Natapov)
 - check for PR_SET_NAME being defined (Nathan Froyd)
 - fix migration for ide devices (Anthony Liguori)
 - Use correct depth in vmware vga (Reimar Doffiner)
 - support 32bpp cursors in sdl (Reimar Doffinger)
 - fix device name completion for eject (Blue Swirl)
 - make screendump use DisplayState properly (Stefano Stabellini)
 - fix autostart with live migration (Avi Kivity)
 - fix detached migration with exec (Chris Lalancette)
 - fix segv when changing vnc password in sdl (Zach Amsden)
 - fix vnc password clearing with stdio monitor (Zach Amsden)
 - clean up VGA type selection (Zach Amsden)
 - add missing linefeed in error message (Stefan Weil)

Version 0.11.0-rc1

 - add machine aliasing support (Mark McLoughlin)
 - add getfd/closefd monitor commands (Mark McLoughlin)
 - use correct headers for tap-win32 (Filip Navara)
 - fix live migration (Glauber Costa)
 - slirp: use monotonic clock if available (Ed Swierk)
 - clear msix_entries_nr on error (Michael Tsirkin)
 - HPET: fix reg writes (Beth Kon)
 - slirp: fix guestfwd for incoming data (Jan Kiszka)
 - fix build of qemu-thread.c on win32 (Sebastian Herbszt)
 - improve signrom.sh portability (Christoph Egger)
 - fix qemu-img convert to copy unallocated parts of the image
   (Akkarit Sangpetch)
 - vmdk: fix backing file handling (Kevin Wolf)
 - scsi: add save/restore support (Nolan Leake)
 - fix live migration for SCSI (Nolan Leake)
 - various sparc build fixes (Blue Swirl)
 - fix OpenBSD build (Blue Swirl)
 - only allow -cpu host when using KVM (Anthony Liguori)
 - fix build breakage when !KVM (Anthony Liguori)

Version 0.11.0-rc0

 - configure refactoring (Juan Quintela)
 - qdev device model (Paul Brook, Gerd Hoffman, et al)
 - qemu-io (Christoph Hellwig, Kevin Wolf)
 - i386: multiboot support for -kernel (Alex Graf)
 - gdbstub: vCont support (Jan Kiszka)
 - i386: control over boot menu (Jan Kiszka)
 - i386: pc-0.10 compatibility machine type (Mark McLoughlin)
 - qcow2: use cache=writethrough by default (Kevin Wolf)
 - i386: MCE emulation (Huang Ying)
 - i386: host cpuid support (Andre Pzywara)
 - slirp: host network config (Jan Kiszka)
 - virtio: MSI-x support (Michael Tsirkin)
 - pci: allow devices to specify bus address (Markus Armbruster)
 - migration: allow down time based threshold (Glauber Costa)
 - virtio-net: filtering support (Alex Williamson)
 - http block device support (Alex Graf)
 - kvm: save/restore and reboot support (Jan Kiszka)
 - configure: remove --disable-gfx-check (Anthony Liguori)
 - arm: Syborg board emulation (Paul Brook)
 - xen: add pv guest support (Gerd Hoffman)
 - i386: expose numa topology to guests (Andre Przywara)
 - remove phys_ram_base (Paul Brook)
 - native preadv/pwritev support (Christoph Hellwig)
 - kvm: guest debugging support (Jan Kiszka)
 - vnc: support for acls and gssapi (Dan Berrange)
 - monitor: allow multiple monitors (Jan Kiszka)

Version 0.10.6

 - e1000: ignore reset command (Kevin Wolf)
 - fix VNC memory allocation (Stefan Weil)
 - fix raw_pread_aligned return value (Christoph Hellwig)
 - allow monitor interaction when using -incoming exec: (Chris Lalancette)
 - fix -net socket,listen (Jan Kiszka)
 - live migration: don't send gratuitous packets all at once (Gleb Natapov)
 - serial: fix lost characters after sysrq (Jason Wessel)
 - Fix prototype of zfree (Stefan Weil)
 - Handle EINTR with exec: migration (Uri Lublin)
 - Delete io-handler before closing fd after migration (Uri Lublin)
 - Fix qemu_aio_flush (Andrea Arcangeli)
 - lsi53c895a: Implement additional registers (Sebastian Herbszt)
 - virtio-blk: fix warning (Gerd Hoffman)
 - i386: fix cpu reset (Nitin Kamble)
 - kvm: fix irq injection into full queue (Jan Kiszka)
 - Prevent CD-ROM eject while device is locked (Mark McLoughlin)
 - Fix screen dump with blank screen (Eduardo Habkost)
 - Fix memory leak with cpu_unregister_map_client (Isaku Yamahata)
 - Fix memory leak in SDL (Jan Kiszka)
 - Fix build on OS X 10.4 (John Arbuckle)
 - Fix leak of vlan clients after hot remove (Mark McLoughlin)
 - Fix migration after hot remove with eepro100 (Mark McLoughlin)
 - Don't start a VM after failed migration if stopped (Anthony Liguori)
 - Fix live migration under heavy IO load (Glauber Costa)
 - Honor -S on incoming migration (Paolo Bonzini)
 - Reset HPET config register on reset (Beth Kon)
 - Reset PS2 keyboard/mouse on reset (Dinesh Subraveti)

Version 0.10.5

 - kvm: trim unsupported cpu features from cpuid (Avi Kivity)
 - kvm: provide a better error message for -smp > 1 (Mark McLoughlin)
 - Remove initrd printfs (Richard Jones)
 - Initial variables found by valgrind (Jean-Christophe Dubois)
 - Fix -initrd with > 4GB guests (Glauber Costa)
 - Fix busy loop on live migration for certain platforms (Uri Lublin)
 - Remove GCC 3.x requirements from docs (Hollis Blanchard)
 - ETRAX: fixes for kernel command line, ethernet address, bmi (Edgar Iglesias)
 - CRIS: Fix bmi (Edgar Iglesias)
 - Fix bounce buffer errors (Avi Kivity)
 - Fix regression in -kernel (Anthony Liguori)

Version 0.10.4

 - Improve block range checks to remove integer overflow (Kevin Wolf)
 - e1000: do not re-init PCI config space 0 (Amit Shah)
 - fix AIO deletion race (Alex Graf)
 - reset option roms on reboot (Glauber Costa)
 - fix qcow2 corruption in cluster freeing (Gleb Natapov)
 - Enable power button event generation (Gleb Natapov)

Version 0.10.3

 - fix AIO cancellations (Avi Kivity)
 - fix live migration error path on incoming
 - avoid SEGV on pci hotplug failure (Chris Wright)
 - fix serial option in -drive
 - support DDIM for option roms (Glauber Costa)
 - avoid fork/exec on pre-2.6.27 kernels with KVM (Jan Kiszka)
 - block-vpc: don't silently create smaller images than requested (Kevin Wolf)
 - Fix non-ACPI timer interrupt routing (Beth Kon)
 - hpet: fix emulation of HPET_TN_SETVAL (Jan Kiszka)
 - kvm: fix cpuid initialization (Jan Kiszka)
 - qcow2: fix corruption on little endian hosts (Kevin Wolf)
 - avoid leaing memory on hot unplug (Mark McLoughlin)
 - fix savevm/migration after hot unplug (Mark McLoughlin)
 - Fix keyboard mapping on newer Xords with non-default keymaps (balrog)
 - Make PCI config status register read-only (Anthony Liguori)
 - Fix crash on resolution change -> screen dump -> vga redraw (Avi Kivity)

Version 0.10.2

 - fix savevm/loadvm (Anthony Liguori)
 - live migration: fix dirty tracking windows (Glauber Costa)
 - live migration: improve error propogation (Glauber Costa)
 - qcow2: fix image creation for > ~2TB images (Chris Wright)
 - hotplug: fix error handling for if= parameter (Eduardo Habkost)
 - qcow2: fix data corruption (Nolan Leake)
 - virtio: fix guest oops with 2.6.25 kernels (Rusty Russell)
 - SH4: add support for -kernel (Takashi Yoshii, Aurelien Jarno)
 - hotplug: fix closing of char devices (Jan Kiszka)
 - hotplug: remove incorrect check for device name (Eduardo Habkost)
 - enable -k on win32 (Herve Poussineau)
 - configure: use LANG=C for grep (Andreas Faerber)
 - fix VGA regression (malc)

Version 0.10.1

 - virtio-net: allow masking of notifications on empty queue (Alex Williamson)
 - e1000: fix rx descriptor low threshold logic (Alex Willaimson)
 - x86 tcg: add NULL checks to lsl instruction (Jan Kiszka)
 - kvm vga: fix screen corruption with -std-vga and Windows (Avi Kivity)
 - kvm vga: fix screen corruption with Ubuntu installations (Glauber Costa)
 - virtio-net: check right return size on sg list (Alex Williamson)
 - Make qemu_announce_self handle holes (live migration after hotplug)
   (Marcelo Tosatti)
 - Revert r6804-r6808 (qcow2 allocation info).  This series of changes added
   a high cost to startup for large qcow2 images (Anthony Liguori)
 - qemu-img: fix help message (Aurelien Jarno)
 - Fix build for non-default installs of SDL (Anthony Liguori)
 - Fix race condition in env->interrupt_request.  When using TCG and a dynticks
   host timer, this condition could cause TCG to get stuck in an infinite
   loop (Aurelien Jarno)
 - Fix reading encrypted hard disk passwords during early startup (Jan Kiszka)
 - Fix encrypted disk reporting in 'info block' (Jan Kiszka)
 - Fix console size with tiny displays (MusicPal) (Jan Kiszka)
 - Improve error handling in bdrv_open2 (Jan Kiszka)
 - Avoid leaking data in mux'ed character devices (Jan Kiszka)
 - Fix initial character device reset (no banner in monitor) (Jan Kiszka)
 - Fix cpuid KVM crash on i386 host (Lubomir Rintel)
 - Fix SLES10sp2 installation by adding ISTAT1 register to LSI SCSI emulation
   (Ryan Harper)

Version 0.10.0

 - TCG support (No longer requires GCC 3.x)
 - Kernel Virtual Machine acceleration support
 - BSD userspace emulation
 - Bluetooth emulation and host passthrough support
 - GDB XML register description support
 - Intel e1000 emulation
 - HPET emulation
 - VirtIO paravirtual device support
 - Marvell 88w8618 / MusicPal emulation
 - Nokia N-series tablet emulation / OMAP2 processor emulation
 - PCI hotplug support
 - Live migration and new save/restore formats
 - Curses display support
 - qemu-nbd utility to mount supported block formats
 - Altivec support in PPC emulation and new firmware (OpenBIOS)
 - Multiple VNC clients are now supported
 - TLS encryption is now supported in VNC
 - MIPS Magnum R4000 machine (Herv� Poussineau)
 - Braille support (Samuel Thibault)
 - Freecom MusicPal system emulation (Jan Kiszka)
 - OMAP242x and Nokia N800, N810 machines (Andrzej Zaborowski)
 - EsounD audio driver (Frederick Reeve)
 - Gravis Ultrasound GF1 sound card (Tibor "TS" Sch�tz)
 - Many, many, bug fixes and new features

Version 0.9.1

 - TFTP booting from host directory (Anthony Liguori, Erwan Velu)
 - Tap device emulation for Solaris (Sittichai Palanisong)
 - Monitor multiplexing to several I/O channels (Jason Wessel)
 - ds1225y nvram support (Herve Poussineau)
 - CPU model selection support (J. Mayer, Paul Brook, Herve Poussineau)
 - Several Sparc fixes (Aurelien Jarno, Blue Swirl, Robert Reif)
 - MIPS 64-bit FPU support (Thiemo Seufer)
 - Xscale PDA emulation (Andrzej Zaborowski)
 - ColdFire system emulation (Paul Brook)
 - Improved SH4 support (Magnus Damm)
 - MIPS64 support (Aurelien Jarno, Thiemo Seufer)
 - Preliminary Alpha guest support (J. Mayer)
 - Read-only support for Parallels disk images (Alex Beregszaszi)
 - SVM (x86 virtualization) support (Alexander Graf)
 - CRIS emulation (Edgar E. Iglesias)
 - SPARC32PLUS execution support (Blue Swirl)
 - MIPS mipssim pseudo machine (Thiemo Seufer)
 - Strace for Linux userland emulation (Stuart Anderson, Thayne Harbaugh)
 - OMAP310 MPU emulation plus Palm T|E machine (Andrzej Zaborowski)
 - ARM v6, v7, NEON SIMD and SMP emulation (Paul Brook/CodeSourcery)
 - Gumstix boards: connex and verdex emulation (Thorsten Zitterell)
 - Intel mainstone II board emulation (Armin Kuster)
 - VMware SVGA II graphics card support (Andrzej Zaborowski)

Version 0.9.0

 - Support for relative paths in backing files for disk images
 - Async file I/O API
 - New qcow2 disk image format
 - Support of multiple VM snapshots
 - Linux: specific host CDROM and floppy support
 - SMM support
 - Moved PCI init, MP table init and ACPI table init to Bochs BIOS
 - Support for MIPS32 Release 2 instruction set (Thiemo Seufer)
 - MIPS Malta system emulation (Aurelien Jarno, Stefan Weil)
 - Darwin userspace emulation (Pierre d'Herbemont)
 - m68k user support (Paul Brook)
 - several x86 and x86_64 emulation fixes
 - Mouse relative offset VNC extension (Anthony Liguori)
 - PXE boot support (Anthony Liguori)
 - '-daemonize' option (Anthony Liguori)

Version 0.8.2

 - ACPI support
 - PC VGA BIOS fixes
 - switch to OpenBios for SPARC targets (Blue Swirl)
 - VNC server fixes
 - MIPS FPU support (Marius Groeger)
 - Solaris/SPARC host support (Juergen Keil)
 - PPC breakpoints and single stepping (Jason Wessel)
 - USB updates (Paul Brook)
 - UDP/TCP/telnet character devices (Jason Wessel)
 - Windows sparse file support (Frediano Ziglio)
 - RTL8139 NIC TCP segmentation offloading (Igor Kovalenko)
 - PCNET NIC support (Antony T Curtis)
 - Support for variable frequency host CPUs
 - Workaround for win32 SMP hosts
 - Support for AMD Flash memories (Jocelyn Mayer)
 - Audio capture to WAV files support (malc)

Version 0.8.1

 - USB tablet support (Brad Campbell, Anthony Liguori)
 - win32 host serial support (Kazu)
 - PC speaker support (Joachim Henke)
 - IDE LBA48 support (Jens Axboe)
 - SSE3 support
 - Solaris port (Juergen Keil)
 - Preliminary SH4 target (Samuel Tardieu)
 - VNC server (Anthony Liguori)
 - slirp fixes (Ed Swierk et al.)
 - USB fixes
 - ARM Versatile Platform Baseboard emulation (Paul Brook)

Version 0.8.0

 - ARM system emulation: Arm Integrator/CP board with an arm1026ej-s
   cpu (Paul Brook)
 - SMP support
 - Mac OS X cocoa improvements (Mike Kronenberg)
 - Mac OS X CoreAudio driver (Mike Kronenberg)
 - DirectSound driver (malc)
 - ALSA audio driver (malc)
 - new audio options: '-soundhw' and '-audio-help' (malc)
 - ES1370 PCI audio device (malc)
 - Initial USB support
 - Linux host serial port access
 - Linux host low level parallel port access
 - New network emulation code supporting VLANs.
 - MIPS and MIPSel User Linux emulation
 - MIPS fixes to boot Linux (Daniel Jacobowitz)
 - NX bit support
 - Initial SPARC SMP support (Blue Swirl)
 - Major overhaul of the virtual FAT driver for read/write support
   (Johannes Schindelin)

Version 0.7.2

 - x86_64 fixes (Win2000 and Linux 2.6 boot in 32 bit)
 - merge self modifying code handling in dirty ram page mecanism.
 - MIPS fixes (Ralf Baechle)
 - better user net performances

Version 0.7.1

 - read-only Virtual FAT support (Johannes Schindelin)
 - Windows 2000 install disk full hack (original idea from Vladimir
   N. Oleynik)
 - VMDK disk image creation (Filip Navara)
 - SPARC64 progress (Blue Swirl)
 - initial MIPS support (Jocelyn mayer)
 - MIPS improvements (Ralf Baechle)
 - 64 bit fixes in user networking (initial patch by Gwenole Beauchesne)
 - IOAPIC support (Filip Navara)

Version 0.7.0

 - better BIOS translation and HDD geometry auto-detection
 - user mode networking bug fix
 - undocumented FPU ops support
 - Cirrus VGA: support for 1280x1024x[8,15,16] modes
 - 'pidfile' option
 - .dmg disk image format support (Johannes Schindelin)
 - keymaps support (initial patch by Johannes Schindelin)
 - big endian ARM support (Lennert Buytenhek)
 - added generic 64 bit target support
 - x86_64 target support
 - initial APIC support
 - MMX/SSE/SSE2/PNI support
 - PC parallel port support (Mark Jonckheere)
 - initial SPARC64 support (Blue Swirl)
 - SPARC target boots Linux (Blue Swirl)
 - armv5te user mode support (Paul Brook)
 - ARM VFP support (Paul Brook)
 - ARM "Angel" semihosting syscalls (Paul Brook)
 - user mode gdb stub support (Paul Brook)
 - Samba 3 support
 - initial Cocoa support (Pierre d'Herbemont)
 - generic FPU emulation code
 - Virtual PC read-only disk image support (Alex Beregszaszi)

Version 0.6.1

 - Mac OS X port (Pierre d'Herbemont)
 - Virtual console support
 - Better monitor line edition
 - New block device layer
 - New 'qcow' growable disk image support with AES encryption and
   transparent decompression
 - VMware 3 and 4 read-only disk image support (untested)
 - Support for up to 4 serial ports
 - TFTP server support (Magnus Damm)
 - Port redirection support in user mode networking
 - Support for not executable data sections
 - Compressed loop disk image support (Johannes Schindelin)
 - Level triggered IRQ fix (aka NE2000 PCI performance fix) (Steve
   Wormley)
 - Fixed Fedora Core 2 problems (now you can run qemu without any
   LD_ASSUME_KERNEL tricks on FC2)
 - DHCP fix for Windows (accept DHCPREQUEST alone)
 - SPARC system emulation (Blue Swirl)
 - Automatic Samba configuration for host file access from Windows.
 - '-loadvm' and '-full-screen' options
 - ne2000 savevm support (Johannes Schindelin)
 - Ctrl-Alt is now the default grab key. Ctrl-Alt-[0-9] switches to
   the virtual consoles.
 - BIOS floppy fix for NT4 (Mike Nordell, Derek Fawcus, Volker Ruppert)
 - Floppy fixes for NT4 and NT5 (Mike Nordell)
 - NT4 IDE fixes (Ben Pfaf, Mike Nordell)
 - SDL Audio support and SB16 fixes (malc)
 - ENTER instruction bug fix (initial patch by Stefan Kisdaroczi)
 - VGA font change fix
 - VGA read-only CRTC register fix

Version 0.6.0

 - minimalist FPU exception support (NetBSD FPU probe fix)
 - cr0.ET fix (Win95 boot)
 - *BSD port (Markus Niemisto)
 - I/O access fix (signaled by Mark Jonckheere)
 - IDE drives serial number fix (Mike Nordell)
 - int13 CDROM BIOS fix (aka Solaris x86 install CD fix)
 - int15, ah=86 BIOS fix (aka Solaris x86 hardware probe hang up fix)
 - BSR/BSF "undefined behaviour" fix
 - vmdk2raw: convert VMware disk images to raw images
 - PCI support
 - NE2K PCI support
 - dummy VGA PCI support
 - VGA font selection fix (Daniel Serpell)
 - PIC reset fix (Hidemi KAWAI)
 - PIC spurious irq support (aka Solaris install bug)
 - added '-localtime' option
 - Cirrus CL-GD54xx VGA support (initial patch by Makoto Suzuki (suzu))
 - APM and system shutdown support
 - Fixed system reset
 - Support for other PC BIOSes
 - Initial PowerMac hardware emulation
 - PowerMac/PREP OpenFirmware compatible BIOS (Jocelyn Mayer)
 - initial IDE BMDMA support (needed for Darwin x86)
 - Set the default memory size for PC emulation to 128 MB

Version 0.5.5

 - SDL full screen support (initial patch by malc)
 - VGA support on PowerPC PREP
 - VBE fixes (Matthew Mastracci)
 - PIT fixes (aka Win98 hardware probe and "VGA slowness" bug)
 - IDE master only fixes (aka Win98 CD-ROM probe bug)
 - ARM load/store half word fix (Ulrich Hecht)
 - FDC fixes for Win98

Version 0.5.4

 - qemu-fast fixes
 - BIOS area protection fix (aka EMM386.EXE fix) (Mike Nordell)
 - keyboard/mouse fix (Mike Nordell)
 - IDE fixes (Linux did not recognized slave drivers)
 - VM86 EIP masking fix (aka NT5 install fix) (Mike Nordell)
 - QEMU can now boot a PowerPC Linux kernel (Jocelyn Mayer)
 - User mode network stack
 - imul imm8 fix + 0x82 opcode support (Hidemi KAWAI)
 - precise self modifying code (aka BeOS install bug)

Version 0.5.3

 - added Bochs VESA VBE support
 - VGA memory map mode 3 access fix (OS/2 install fix)
 - IDE fixes (Jens Axboe)
 - CPU interrupt fixes
 - fixed various TLB invalidation cases (NT install)
 - fixed cr0.WP semantics (XP install)
 - direct chaining support for SPARC and PowerPC (faster)
 - ARM NWFPE support (initial patch by Ulrich Hecht)
 - added specific x86 to x86 translator (close to native performance
   in qemu-i386 and qemu-fast)
 - shm syscalls support (Paul McKerras)
 - added accurate CR0.MP/ME/TS emulation
 - fixed DMA memory write access (Win95 boot floppy fix)
 - graphical x86 linux loader
 - command line monitor
 - generic removable device support
 - support of CD-ROM change
 - multiple network interface support
 - initial x86-64 host support (Gwenole Beauchesne)
 - lret to outer priviledge fix (OS/2 install fix)
 - task switch fixes (SkyOS boot)
 - VM save/restore commands
 - new timer API
 - more precise RTC emulation (periodic timers + time updates)
 - Win32 port (initial patch by Kazu)

Version 0.5.2

 - improved soft MMU speed (assembly functions and specializing)
 - improved multitasking speed by avoiding flushing TBs when
   switching tasks
 - improved qemu-fast speed
 - improved self modifying code handling (big performance gain in
   softmmu mode).
 - fixed IO checking
 - fixed CD-ROM detection (win98 install CD)
 - fixed addseg real mode bug (GRUB boot fix)
 - added ROM memory support (win98 boot)
 - fixed 'call Ev' in case of paging exception
 - updated the script 'qemu-binfmt-conf.sh' to use QEMU automagically
   when launching executables for the supported target CPUs.
 - PowerPC system emulation update (Jocelyn Mayer)
 - PC floppy emulation and DMA fixes (Jocelyn Mayer)
 - polled mode for PIC (Jocelyn Mayer)
 - fixed PTE dirty bit handling
 - fixed xadd same reg bug
 - fixed cmpxchg exception safeness
 - access to virtual memory in gdb stub
 - task gate and NT flag fixes
 - eflags optimisation fix for string operations

Version 0.5.1

 - float access fixes when using soft mmu
 - PC emulation support on PowerPC
 - A20 support
 - IDE CD-ROM emulation
 - ARM fixes (Ulrich Hecht)
 - SB16 emulation (malc)
 - IRET and INT fixes in VM86 mode with IOPL=3
 - Port I/Os use TSS io map
 - Full task switching/task gate support
 - added verr, verw, arpl, fcmovxx
 - PowerPC target support (Jocelyn Mayer)
 - Major SPARC target fixes (dynamically linked programs begin to work)

Version 0.5.0

 - full hardware level VGA emulation
 - graphical display with SDL
 - added PS/2 mouse and keyboard emulation
 - popw (%esp) fix
 - mov to/from segment data width fix
 - added real mode support
 - added Bochs BIOS and LGPL'ed VGA BIOS loader in qemu
 - m68k host port (Richard Zidlicky)
 - partial soft MMU support for memory mapped I/Os
 - multi-target build
 - fixed: no error code in hardware interrupts
 - fixed: pop ss, mov ss, x and sti disable hardware irqs for the next insn
 - correct single stepping thru string operations
 - preliminary SPARC target support (Thomas M. Ogrisegg)
 - tun-fd option (Rusty Russell)
 - automatic IDE geometry detection
 - renamed 'vl' to qemu[-fast] and user qemu to qemu-{cpu}.
 - added man page
 - added full soft mmu mode to launch unpatched OSes.

Version 0.4.3

 - x86 exception fix in case of nop instruction.
 - gcc 3.2.2 bug workaround (RedHat 9 fix)
 - sparc and Alpha host fixes
 - many ARM target fixes: 'ls' and 'bash' can be launched.

Version 0.4.2

- many exception handling fixes (can compile a Linux kernel inside vl)
- IDE emulation support
- initial GDB stub support
- deferred update support for disk images (Rusty Russell)
- accept User Mode Linux Copy On Write disk images
- SMP kernels can at least be booted

Version 0.4.1

- more accurate timer support in vl.
- more reliable NE2000 probe in vl.
- added 2.5.66 kernel in vl-test.
- added VLTMPDIR environment variable in vl.

Version 0.4

- initial support for ring 0 x86 processor emulation
- fixed signal handling for correct dosemu DPMI emulation
- fast x86 MMU emulation with mmap()
- fixed popl (%esp) case
- Linux kernel can be executed by QEMU with the 'vl' command.

Version 0.3

- initial support for ARM emulation
- added fnsave, frstor, fnstenv, fldenv FPU instructions
- added FPU register save in signal emulation
- initial ARM port
- Sparc and Alpha ports work on the regression test
- generic ioctl number conversion
- fixed ioctl type conversion

Version 0.2

- PowerPC disassembly and ELF symbols output (Rusty Russell)
- flock support (Rusty Russell)
- ugetrlimit support (Rusty Russell)
- fstat64 fix (Rusty Russell)
- initial Alpha port (Falk Hueffner)
- initial IA64 port (Matt Wilson)
- initial Sparc and Sparc64 port (David S. Miller)
- added HLT instruction
- LRET instruction fix.
- added GPF generation for I/Os.
- added INT3 and TF flag support.
- SHL instruction C flag fix.
- mmap emulation for host page size > 4KB
- self-modifying code support
- better VM86 support (dosemu works on non trivial programs)
- precise exception support (EIP is computed correctly in most cases)
- more precise LDT/GDT/IDT emulation
- faster segment load in vm86 mode
- direct chaining of basic blocks (faster emulation)

Version 0.1.6

- automatic library search system. QEMU can now work with unpatched
  ELF dynamic loader and libc (Rusty Russell).
- ISO C warning fixes (Alistair Strachan)
- first self-virtualizable version (works only as long as the
  translation cache is not flushed)
- RH9 fixes

Version 0.1.5

- ppc64 support + personality() patch (Rusty Russell)
- first Alpha CPU patches (Falk Hueffner)
- removed bfd.h dependancy
- fixed shrd, shld, idivl and divl on PowerPC.
- fixed buggy glibc PowerPC rint() function (test-i386 passes now on PowerPC).

Version 0.1.4

- more accurate VM86 emulation (can launch small DOS 16 bit
  executables in wine).
- fixed push/pop fs/gs
- added iret instruction.
- added times() syscall and SIOCATMARK ioctl.

Version 0.1.3

- S390 support (Ulrich Weigand)
- glibc 2.3.x compile fix (Ulrich Weigand)
- socketcall endian fix (Ulrich Weigand)
- struct sockaddr endian fix (Ulrich Weigand)
- sendmsg/recvmsg endian fix (Ulrich Weigand)
- execve endian fix (Ulrich Weigand)
- fdset endian fix (Ulrich Weigand)
- partial setsockopt syscall support (Ulrich Weigand)
- more accurate pushf/popf emulation
- first partial vm86() syscall support (can be used with runcom example).
- added bound, cmpxchg8b, cpuid instructions
- added 16 bit addressing support/override for string operations
- poll() fix

Version 0.1.2

- compile fixes
- xlat instruction
- xchg instruction memory lock
- added simple vm86 example (not working with QEMU yet). The 54 byte
  DOS executable 'pi_10.com' program was released by Bertram
  Felgenhauer (more information at http://www.boo.net/~jasonp/pipage.html).

Version 0.1.1

- glibc 2.2 compilation fixes
- added -s and -L options
- binary distribution of x86 glibc and wine
- big endian fixes in ELF loader and getdents.

Version 0.1

- initial public release.