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