kvm: work around supported cpuid ioctl() brokenness
[qemu-kvm/fedora.git] / Changelog
blobdec0d151d91c2b1c8d542c13e8560a657a8cd113
1 version 0.10.4:
2   - Improve block range checks to remove integer overflow (Kevin Wolf)
3   - e1000: do not re-init PCI config space 0 (Amit Shah)
4   - fix AIO deletion race (Alex Graf)
5   - reset option roms on reboot (Glauber Costa)
6   - fix qcow2 corruption in cluster freeing (Gleb Natapov)
7   - Enable power button event generation (Gleb Natapov)
9 version 0.10.3:
10   - fix AIO cancellations (Avi Kivity)
11   - fix live migration error path on incoming
12   - avoid SEGV on pci hotplug failure (Chris Wright)
13   - fix serial option in -drive
14   - support DDIM for option roms (Glauber Costa)
15   - avoid fork/exec on pre-2.6.27 kernels with KVM (Jan Kiszka)
16   - block-vpc: don't silently create smaller images than requested (Kevin Wolf)
17   - Fix non-ACPI timer interrupt routing (Beth Kon)
18   - hpet: fix emulation of HPET_TN_SETVAL (Jan Kiszka)
19   - kvm: fix cpuid initialization (Jan Kiszka)
20   - qcow2: fix corruption on little endian hosts (Kevin Wolf)
21   - avoid leaing memory on hot unplug (Mark McLoughlin)
22   - fix savevm/migration after hot unplug (Mark McLoughlin)
23   - Fix keyboard mapping on newer Xords with non-default keymaps (balrog)
24   - Make PCI config status register read-only (Anthony Liguori)
25   - Fix crash on resolution change -> screen dump -> vga redraw (Avi Kivity)
27 version 0.10.2:
29   - fix savevm/loadvm (Anthony Liguori)
30   - live migration: fix dirty tracking windows (Glauber Costa)
31   - live migration: improve error propogation (Glauber Costa)
32   - qcow2: fix image creation for > ~2TB images (Chris Wright)
33   - hotplug: fix error handling for if= parameter (Eduardo Habkost)
34   - qcow2: fix data corruption (Nolan Leake)
35   - virtio: fix guest oops with 2.6.25 kernels (Rusty Russell)
36   - SH4: add support for -kernel (Takashi Yoshii, Aurelien Jarno)
37   - hotplug: fix closing of char devices (Jan Kiszka)
38   - hotplug: remove incorrect check for device name (Eduardo Habkost)
39   - enable -k on win32 (Herve Poussineau)
40   - configure: use LANG=C for grep (Andreas Faerber)
41   - fix VGA regression (malc)
42         
43 version 0.10.1:
45   - virtio-net: allow masking of notifications on empty queue (Alex Williamson)
46   - e1000: fix rx descriptor low threshold logic (Alex Willaimson)
47   - x86 tcg: add NULL checks to lsl instruction (Jan Kiszka)
48   - kvm vga: fix screen corruption with -std-vga and Windows (Avi Kivity)
49   - kvm vga: fix screen corruption with Ubuntu installations (Glauber Costa)
50   - virtio-net: check right return size on sg list (Alex Williamson)
51   - Make qemu_announce_self handle holes (live migration after hotplug)
52     (Marcelo Tosatti)
53   - Revert r6804-r6808 (qcow2 allocation info).  This series of changes added
54     a high cost to startup for large qcow2 images (Anthony Liguori)
55   - qemu-img: fix help message (Aurelien Jarno)
56   - Fix build for non-default installs of SDL (Anthony Liguori)
57   - Fix race condition in env->interrupt_request.  When using TCG and a dynticks
58     host timer, this condition could cause TCG to get stuck in an infinite
59     loop (Aurelien Jarno)
60   - Fix reading encrypted hard disk passwords during early startup (Jan Kiszka)
61   - Fix encrypted disk reporting in 'info block' (Jan Kiszka)
62   - Fix console size with tiny displays (MusicPal) (Jan Kiszka)
63   - Improve error handling in bdrv_open2 (Jan Kiszka)
64   - Avoid leaking data in mux'ed character devices (Jan Kiszka)
65   - Fix initial character device reset (no banner in monitor) (Jan Kiszka)
66   - Fix cpuid KVM crash on i386 host (Lubomir Rintel)
67   - Fix SLES10sp2 installation by adding ISTAT1 register to LSI SCSI emulation
68     (Ryan Harper)
70 version 0.10.0:
72   - TCG support (No longer requires GCC 3.x)
73   - Kernel Virtual Machine acceleration support
74   - BSD userspace emulation
75   - Bluetooth emulation and host passthrough support
76   - GDB XML register description support
77   - Intel e1000 emulation
78   - HPET emulation
79   - VirtIO paravirtual device support
80   - Marvell 88w8618 / MusicPal emulation
81   - Nokia N-series tablet emulation / OMAP2 processor emulation
82   - PCI hotplug support
83   - Live migration and new save/restore formats
84   - Curses display support
85   - qemu-nbd utility to mount supported block formats
86   - Altivec support in PPC emulation and new firmware (OpenBIOS)
87   - Multiple VNC clients are now supported
88   - TLS encryption is now supported in VNC
89   - MIPS Magnum R4000 machine (Hervé Poussineau)
90   - Braille support (Samuel Thibault)
91   - Freecom MusicPal system emulation (Jan Kiszka)
92   - OMAP242x and Nokia N800, N810 machines (Andrzej Zaborowski)
93   - EsounD audio driver (Frederick Reeve)
94   - Gravis Ultrasound GF1 sound card (Tibor "TS" Schütz)
95   - Many, many, bug fixes and new features
97 version 0.9.1:
99   - TFTP booting from host directory (Anthony Liguori, Erwan Velu)
100   - Tap device emulation for Solaris (Sittichai Palanisong)
101   - Monitor multiplexing to several I/O channels (Jason Wessel)
102   - ds1225y nvram support (Herve Poussineau)
103   - CPU model selection support (J. Mayer, Paul Brook, Herve Poussineau)
104   - Several Sparc fixes (Aurelien Jarno, Blue Swirl, Robert Reif)
105   - MIPS 64-bit FPU support (Thiemo Seufer)
106   - Xscale PDA emulation (Andrzej Zaborowski)
107   - ColdFire system emulation (Paul Brook)
108   - Improved SH4 support (Magnus Damm)
109   - MIPS64 support (Aurelien Jarno, Thiemo Seufer)
110   - Preliminary Alpha guest support (J. Mayer)
111   - Read-only support for Parallels disk images (Alex Beregszaszi)
112   - SVM (x86 virtualization) support (Alexander Graf)
113   - CRIS emulation (Edgar E. Iglesias)
114   - SPARC32PLUS execution support (Blue Swirl)
115   - MIPS mipssim pseudo machine (Thiemo Seufer)
116   - Strace for Linux userland emulation (Stuart Anderson, Thayne Harbaugh)
117   - OMAP310 MPU emulation plus Palm T|E machine (Andrzej Zaborowski)
118   - ARM v6, v7, NEON SIMD and SMP emulation (Paul Brook/CodeSourcery)
119   - Gumstix boards: connex and verdex emulation (Thorsten Zitterell)
120   - Intel mainstone II board emulation (Armin Kuster)
121   - VMware SVGA II graphics card support (Andrzej Zaborowski)
123 version 0.9.0:
125   - Support for relative paths in backing files for disk images
126   - Async file I/O API
127   - New qcow2 disk image format
128   - Support of multiple VM snapshots
129   - Linux: specific host CDROM and floppy support
130   - SMM support
131   - Moved PCI init, MP table init and ACPI table init to Bochs BIOS
132   - Support for MIPS32 Release 2 instruction set (Thiemo Seufer)
133   - MIPS Malta system emulation (Aurelien Jarno, Stefan Weil)
134   - Darwin userspace emulation (Pierre d'Herbemont)
135   - m68k user support (Paul Brook)
136   - several x86 and x86_64 emulation fixes
137   - Mouse relative offset VNC extension (Anthony Liguori)
138   - PXE boot support (Anthony Liguori)
139   - '-daemonize' option (Anthony Liguori)
141 version 0.8.2:
143   - ACPI support
144   - PC VGA BIOS fixes
145   - switch to OpenBios for SPARC targets (Blue Swirl)
146   - VNC server fixes
147   - MIPS FPU support (Marius Groeger)
148   - Solaris/SPARC host support (Juergen Keil)
149   - PPC breakpoints and single stepping (Jason Wessel)
150   - USB updates (Paul Brook)
151   - UDP/TCP/telnet character devices (Jason Wessel)
152   - Windows sparse file support (Frediano Ziglio)
153   - RTL8139 NIC TCP segmentation offloading (Igor Kovalenko)
154   - PCNET NIC support (Antony T Curtis)
155   - Support for variable frequency host CPUs
156   - Workaround for win32 SMP hosts
157   - Support for AMD Flash memories (Jocelyn Mayer)
158   - Audio capture to WAV files support (malc)
160 version 0.8.1:
162   - USB tablet support (Brad Campbell, Anthony Liguori)
163   - win32 host serial support (Kazu)
164   - PC speaker support (Joachim Henke)
165   - IDE LBA48 support (Jens Axboe)
166   - SSE3 support
167   - Solaris port (Juergen Keil)
168   - Preliminary SH4 target (Samuel Tardieu)
169   - VNC server (Anthony Liguori)
170   - slirp fixes (Ed Swierk et al.)
171   - USB fixes
172   - ARM Versatile Platform Baseboard emulation (Paul Brook)
174 version 0.8.0:
176   - ARM system emulation: Arm Integrator/CP board with an arm1026ej-s
177     cpu (Paul Brook)
178   - SMP support
179   - Mac OS X cocoa improvements (Mike Kronenberg)
180   - Mac OS X CoreAudio driver (Mike Kronenberg)
181   - DirectSound driver (malc)
182   - ALSA audio driver (malc)
183   - new audio options: '-soundhw' and '-audio-help' (malc)
184   - ES1370 PCI audio device (malc)
185   - Initial USB support
186   - Linux host serial port access
187   - Linux host low level parallel port access
188   - New network emulation code supporting VLANs.
189   - MIPS and MIPSel User Linux emulation
190   - MIPS fixes to boot Linux (Daniel Jacobowitz)
191   - NX bit support
192   - Initial SPARC SMP support (Blue Swirl)
193   - Major overhaul of the virtual FAT driver for read/write support
194     (Johannes Schindelin)
196 version 0.7.2:
198   - x86_64 fixes (Win2000 and Linux 2.6 boot in 32 bit)
199   - merge self modifying code handling in dirty ram page mecanism.
200   - MIPS fixes (Ralf Baechle)
201   - better user net performances
203 version 0.7.1:
205   - read-only Virtual FAT support (Johannes Schindelin)
206   - Windows 2000 install disk full hack (original idea from Vladimir
207     N. Oleynik)
208   - VMDK disk image creation (Filip Navara)
209   - SPARC64 progress (Blue Swirl)
210   - initial MIPS support (Jocelyn mayer)
211   - MIPS improvements (Ralf Baechle)
212   - 64 bit fixes in user networking (initial patch by Gwenole Beauchesne)
213   - IOAPIC support (Filip Navara)
215 version 0.7.0:
217   - better BIOS translation and HDD geometry auto-detection
218   - user mode networking bug fix
219   - undocumented FPU ops support
220   - Cirrus VGA: support for 1280x1024x[8,15,16] modes
221   - 'pidfile' option
222   - .dmg disk image format support (Johannes Schindelin)
223   - keymaps support (initial patch by Johannes Schindelin)
224   - big endian ARM support (Lennert Buytenhek)
225   - added generic 64 bit target support
226   - x86_64 target support
227   - initial APIC support
228   - MMX/SSE/SSE2/PNI support
229   - PC parallel port support (Mark Jonckheere)
230   - initial SPARC64 support (Blue Swirl)
231   - SPARC target boots Linux (Blue Swirl)
232   - armv5te user mode support (Paul Brook)
233   - ARM VFP support (Paul Brook)
234   - ARM "Angel" semihosting syscalls (Paul Brook)
235   - user mode gdb stub support (Paul Brook)
236   - Samba 3 support
237   - initial Cocoa support (Pierre d'Herbemont)
238   - generic FPU emulation code
239   - Virtual PC read-only disk image support (Alex Beregszaszi)
241 version 0.6.1:
243   - Mac OS X port (Pierre d'Herbemont)
244   - Virtual console support
245   - Better monitor line edition
246   - New block device layer
247   - New 'qcow' growable disk image support with AES encryption and
248     transparent decompression
249   - VMware 3 and 4 read-only disk image support (untested)
250   - Support for up to 4 serial ports
251   - TFTP server support (Magnus Damm)
252   - Port redirection support in user mode networking
253   - Support for not executable data sections
254   - Compressed loop disk image support (Johannes Schindelin)
255   - Level triggered IRQ fix (aka NE2000 PCI performance fix) (Steve
256     Wormley)
257   - Fixed Fedora Core 2 problems (now you can run qemu without any
258     LD_ASSUME_KERNEL tricks on FC2)
259   - DHCP fix for Windows (accept DHCPREQUEST alone)
260   - SPARC system emulation (Blue Swirl)
261   - Automatic Samba configuration for host file access from Windows.
262   - '-loadvm' and '-full-screen' options
263   - ne2000 savevm support (Johannes Schindelin)
264   - Ctrl-Alt is now the default grab key. Ctrl-Alt-[0-9] switches to
265     the virtual consoles.
266   - BIOS floppy fix for NT4 (Mike Nordell, Derek Fawcus, Volker Ruppert)
267   - Floppy fixes for NT4 and NT5 (Mike Nordell)
268   - NT4 IDE fixes (Ben Pfaf, Mike Nordell)
269   - SDL Audio support and SB16 fixes (malc)
270   - ENTER instruction bug fix (initial patch by Stefan Kisdaroczi)
271   - VGA font change fix
272   - VGA read-only CRTC register fix
274 version 0.6.0:
276   - minimalist FPU exception support (NetBSD FPU probe fix)
277   - cr0.ET fix (Win95 boot)
278   - *BSD port (Markus Niemisto)
279   - I/O access fix (signaled by Mark Jonckheere)
280   - IDE drives serial number fix (Mike Nordell)
281   - int13 CDROM BIOS fix (aka Solaris x86 install CD fix)
282   - int15, ah=86 BIOS fix (aka Solaris x86 hardware probe hang up fix)
283   - BSR/BSF "undefined behaviour" fix
284   - vmdk2raw: convert VMware disk images to raw images
285   - PCI support
286   - NE2K PCI support
287   - dummy VGA PCI support
288   - VGA font selection fix (Daniel Serpell)
289   - PIC reset fix (Hidemi KAWAI)
290   - PIC spurious irq support (aka Solaris install bug)
291   - added '-localtime' option
292   - Cirrus CL-GD54xx VGA support (initial patch by Makoto Suzuki (suzu))
293   - APM and system shutdown support
294   - Fixed system reset
295   - Support for other PC BIOSes
296   - Initial PowerMac hardware emulation
297   - PowerMac/PREP OpenFirmware compatible BIOS (Jocelyn Mayer)
298   - initial IDE BMDMA support (needed for Darwin x86)
299   - Set the default memory size for PC emulation to 128 MB
301 version 0.5.5:
303   - SDL full screen support (initial patch by malc)
304   - VGA support on PowerPC PREP
305   - VBE fixes (Matthew Mastracci)
306   - PIT fixes (aka Win98 hardware probe and "VGA slowness" bug)
307   - IDE master only fixes (aka Win98 CD-ROM probe bug)
308   - ARM load/store half word fix (Ulrich Hecht)
309   - FDC fixes for Win98
311 version 0.5.4:
313   - qemu-fast fixes
314   - BIOS area protection fix (aka EMM386.EXE fix) (Mike Nordell)
315   - keyboard/mouse fix (Mike Nordell)
316   - IDE fixes (Linux did not recognized slave drivers)
317   - VM86 EIP masking fix (aka NT5 install fix) (Mike Nordell)
318   - QEMU can now boot a PowerPC Linux kernel (Jocelyn Mayer)
319   - User mode network stack
320   - imul imm8 fix + 0x82 opcode support (Hidemi KAWAI)
321   - precise self modifying code (aka BeOS install bug)
323 version 0.5.3:
325   - added Bochs VESA VBE support
326   - VGA memory map mode 3 access fix (OS/2 install fix)
327   - IDE fixes (Jens Axboe)
328   - CPU interrupt fixes
329   - fixed various TLB invalidation cases (NT install)
330   - fixed cr0.WP semantics (XP install)
331   - direct chaining support for SPARC and PowerPC (faster)
332   - ARM NWFPE support (initial patch by Ulrich Hecht)
333   - added specific x86 to x86 translator (close to native performance
334     in qemu-i386 and qemu-fast)
335   - shm syscalls support (Paul McKerras)
336   - added accurate CR0.MP/ME/TS emulation
337   - fixed DMA memory write access (Win95 boot floppy fix)
338   - graphical x86 linux loader
339   - command line monitor
340   - generic removable device support
341   - support of CD-ROM change
342   - multiple network interface support
343   - initial x86-64 host support (Gwenole Beauchesne)
344   - lret to outer priviledge fix (OS/2 install fix)
345   - task switch fixes (SkyOS boot)
346   - VM save/restore commands
347   - new timer API
348   - more precise RTC emulation (periodic timers + time updates)
349   - Win32 port (initial patch by Kazu)
351 version 0.5.2:
353   - improved soft MMU speed (assembly functions and specializing)
354   - improved multitasking speed by avoiding flushing TBs when
355     switching tasks
356   - improved qemu-fast speed
357   - improved self modifying code handling (big performance gain in
358     softmmu mode).
359   - fixed IO checking
360   - fixed CD-ROM detection (win98 install CD)
361   - fixed addseg real mode bug (GRUB boot fix)
362   - added ROM memory support (win98 boot)
363   - fixed 'call Ev' in case of paging exception
364   - updated the script 'qemu-binfmt-conf.sh' to use QEMU automagically
365     when launching executables for the supported target CPUs.
366   - PowerPC system emulation update (Jocelyn Mayer)
367   - PC floppy emulation and DMA fixes (Jocelyn Mayer)
368   - polled mode for PIC (Jocelyn Mayer)
369   - fixed PTE dirty bit handling
370   - fixed xadd same reg bug
371   - fixed cmpxchg exception safeness
372   - access to virtual memory in gdb stub
373   - task gate and NT flag fixes
374   - eflags optimisation fix for string operations
376 version 0.5.1:
378   - float access fixes when using soft mmu
379   - PC emulation support on PowerPC
380   - A20 support
381   - IDE CD-ROM emulation
382   - ARM fixes (Ulrich Hecht)
383   - SB16 emulation (malc)
384   - IRET and INT fixes in VM86 mode with IOPL=3
385   - Port I/Os use TSS io map
386   - Full task switching/task gate support
387   - added verr, verw, arpl, fcmovxx
388   - PowerPC target support (Jocelyn Mayer)
389   - Major SPARC target fixes (dynamically linked programs begin to work)
391 version 0.5.0:
393   - full hardware level VGA emulation
394   - graphical display with SDL
395   - added PS/2 mouse and keyboard emulation
396   - popw (%esp) fix
397   - mov to/from segment data width fix
398   - added real mode support
399   - added Bochs BIOS and LGPL'ed VGA BIOS loader in qemu
400   - m68k host port (Richard Zidlicky)
401   - partial soft MMU support for memory mapped I/Os
402   - multi-target build
403   - fixed: no error code in hardware interrupts
404   - fixed: pop ss, mov ss, x and sti disable hardware irqs for the next insn
405   - correct single stepping thru string operations
406   - preliminary SPARC target support (Thomas M. Ogrisegg)
407   - tun-fd option (Rusty Russell)
408   - automatic IDE geometry detection
409   - renamed 'vl' to qemu[-fast] and user qemu to qemu-{cpu}.
410   - added man page
411   - added full soft mmu mode to launch unpatched OSes.
413 version 0.4.3:
415   - x86 exception fix in case of nop instruction.
416   - gcc 3.2.2 bug workaround (RedHat 9 fix)
417   - sparc and Alpha host fixes
418   - many ARM target fixes: 'ls' and 'bash' can be launched.
420 version 0.4.2:
422  - many exception handling fixes (can compile a Linux kernel inside vl)
423  - IDE emulation support
424  - initial GDB stub support
425  - deferred update support for disk images (Rusty Russell)
426  - accept User Mode Linux Copy On Write disk images
427  - SMP kernels can at least be booted
429 version 0.4.1:
431  - more accurate timer support in vl.
432  - more reliable NE2000 probe in vl.
433  - added 2.5.66 kernel in vl-test.
434  - added VLTMPDIR environment variable in vl.
436 version 0.4:
438  - initial support for ring 0 x86 processor emulation
439  - fixed signal handling for correct dosemu DPMI emulation
440  - fast x86 MMU emulation with mmap()
441  - fixed popl (%esp) case
442  - Linux kernel can be executed by QEMU with the 'vl' command.
444 version 0.3:
446  - initial support for ARM emulation
447  - added fnsave, frstor, fnstenv, fldenv FPU instructions
448  - added FPU register save in signal emulation
449  - initial ARM port
450  - Sparc and Alpha ports work on the regression test
451  - generic ioctl number conversion
452  - fixed ioctl type conversion
454 version 0.2:
456  - PowerPC disassembly and ELF symbols output (Rusty Russell)
457  - flock support (Rusty Russell)
458  - ugetrlimit support (Rusty Russell)
459  - fstat64 fix (Rusty Russell)
460  - initial Alpha port (Falk Hueffner)
461  - initial IA64 port (Matt Wilson)
462  - initial Sparc and Sparc64 port (David S. Miller)
463  - added HLT instruction
464  - LRET instruction fix.
465  - added GPF generation for I/Os.
466  - added INT3 and TF flag support.
467  - SHL instruction C flag fix.
468  - mmap emulation for host page size > 4KB
469  - self-modifying code support
470  - better VM86 support (dosemu works on non trivial programs)
471  - precise exception support (EIP is computed correctly in most cases)
472  - more precise LDT/GDT/IDT emulation
473  - faster segment load in vm86 mode
474  - direct chaining of basic blocks (faster emulation)
476 version 0.1.6:
478  - automatic library search system. QEMU can now work with unpatched
479    ELF dynamic loader and libc (Rusty Russell).
480  - ISO C warning fixes (Alistair Strachan)
481  - first self-virtualizable version (works only as long as the
482    translation cache is not flushed)
483  - RH9 fixes
485 version 0.1.5:
487  - ppc64 support + personality() patch (Rusty Russell)
488  - first Alpha CPU patches (Falk Hueffner)
489  - removed bfd.h dependancy
490  - fixed shrd, shld, idivl and divl on PowerPC.
491  - fixed buggy glibc PowerPC rint() function (test-i386 passes now on PowerPC).
493 version 0.1.4:
495  - more accurate VM86 emulation (can launch small DOS 16 bit
496    executables in wine).
497  - fixed push/pop fs/gs
498  - added iret instruction.
499  - added times() syscall and SIOCATMARK ioctl.
501 version 0.1.3:
503  - S390 support (Ulrich Weigand)
504  - glibc 2.3.x compile fix (Ulrich Weigand)
505  - socketcall endian fix (Ulrich Weigand)
506  - struct sockaddr endian fix (Ulrich Weigand)
507  - sendmsg/recvmsg endian fix (Ulrich Weigand)
508  - execve endian fix (Ulrich Weigand)
509  - fdset endian fix (Ulrich Weigand)
510  - partial setsockopt syscall support (Ulrich Weigand)
511  - more accurate pushf/popf emulation
512  - first partial vm86() syscall support (can be used with runcom example).
513  - added bound, cmpxchg8b, cpuid instructions
514  - added 16 bit addressing support/override for string operations
515  - poll() fix
517 version 0.1.2:
519  - compile fixes
520  - xlat instruction
521  - xchg instruction memory lock
522  - added simple vm86 example (not working with QEMU yet). The 54 byte
523    DOS executable 'pi_10.com' program was released by Bertram
524    Felgenhauer (more information at http://www.boo.net/~jasonp/pipage.html).
526 version 0.1.1:
528  - glibc 2.2 compilation fixes
529  - added -s and -L options
530  - binary distribution of x86 glibc and wine
531  - big endian fixes in ELF loader and getdents.
533 version 0.1:
535  - initial public release.