better arm conditionnal execution implementation (Paul Brook)
[qemu/qemu_0_9_1_stable.git] / Changelog
blob23c6d4842c68f09b5516e2e6eceeafa4fe051b0e
1 version 0.6.2:
3   - better BIOS translation and HDD geometry auto-detection
4   - user mode networking bug fix
5   - undocumented FPU ops support
6   - Cirrus VGA: support for 1280x1024x[8,15,16] modes
7   - 'pidfile' option
8   - .dmg disk image format support (Johannes Schindelin)
9   - keymaps support (initial patch by Johannes Schindelin)
10   - big endian ARM support (Lennert Buytenhek)
11   - added generic 64 bit target support
12   - initial x86_64 target support
13   - initial APIC support
14   - MMX/SSE/SSE2/PNI support
15   - PC parallel port support (Mark Jonckheere)
16   - initial SPARC64 support (Blue Swirl)
17   - armv5te user mode support (Paul Brook)
18   - ARM VFP support (Paul Brook)
19   - Samba 3 support
20   - initial Cocoa support (Pierre d'Herbemont)
22 version 0.6.1:
24   - Mac OS X port (Pierre d'Herbemont)
25   - Virtual console support
26   - Better monitor line edition
27   - New block device layer 
28   - New 'qcow' growable disk image support with AES encryption and
29     transparent decompression
30   - VMware 3 and 4 read-only disk image support (untested)
31   - Support for up to 4 serial ports
32   - TFTP server support (Magnus Damm)
33   - Port redirection support in user mode networking
34   - Support for not executable data sections
35   - Compressed loop disk image support (Johannes Schindelin)
36   - Level triggered IRQ fix (aka NE2000 PCI performance fix) (Steve
37     Wormley)
38   - Fixed Fedora Core 2 problems (now you can run qemu without any
39     LD_ASSUME_KERNEL tricks on FC2)
40   - DHCP fix for Windows (accept DHCPREQUEST alone)
41   - SPARC system emulation (Blue Swirl)
42   - Automatic Samba configuration for host file access from Windows.
43   - '-loadvm' and '-full-screen' options
44   - ne2000 savevm support (Johannes Schindelin)
45   - Ctrl-Alt is now the default grab key. Ctrl-Alt-[0-9] switches to
46     the virtual consoles.
47   - BIOS floppy fix for NT4 (Mike Nordell, Derek Fawcus, Volker Ruppert)
48   - Floppy fixes for NT4 and NT5 (Mike Nordell)
49   - NT4 IDE fixes (Ben Pfaf, Mike Nordell)
50   - SDL Audio support and SB16 fixes (malc)
51   - ENTER instruction bug fix (initial patch by Stefan Kisdaroczi)
52   - VGA font change fix
53   - VGA read-only CRTC register fix
55 version 0.6.0:
57   - minimalist FPU exception support (NetBSD FPU probe fix)
58   - cr0.ET fix (Win95 boot)
59   - *BSD port (Markus Niemisto)
60   - I/O access fix (signaled by Mark Jonckheere)
61   - IDE drives serial number fix (Mike Nordell)
62   - int13 CDROM BIOS fix (aka Solaris x86 install CD fix)
63   - int15, ah=86 BIOS fix (aka Solaris x86 hardware probe hang up fix)
64   - BSR/BSF "undefined behaviour" fix
65   - vmdk2raw: convert VMware disk images to raw images
66   - PCI support
67   - NE2K PCI support
68   - dummy VGA PCI support
69   - VGA font selection fix (Daniel Serpell)
70   - PIC reset fix (Hidemi KAWAI)
71   - PIC spurious irq support (aka Solaris install bug)
72   - added '-localtime' option
73   - Cirrus CL-GD54xx VGA support (initial patch by Makoto Suzuki (suzu))
74   - APM and system shutdown support
75   - Fixed system reset
76   - Support for other PC BIOSes
77   - Initial PowerMac hardware emulation
78   - PowerMac/PREP OpenFirmware compatible BIOS (Jocelyn Mayer)
79   - initial IDE BMDMA support (needed for Darwin x86)
80   - Set the default memory size for PC emulation to 128 MB
82 version 0.5.5:
84   - SDL full screen support (initial patch by malc)
85   - VGA support on PowerPC PREP
86   - VBE fixes (Matthew Mastracci)
87   - PIT fixes (aka Win98 hardware probe and "VGA slowness" bug)
88   - IDE master only fixes (aka Win98 CD-ROM probe bug)
89   - ARM load/store half word fix (Ulrich Hecht)
90   - FDC fixes for Win98
92 version 0.5.4:
93   
94   - qemu-fast fixes
95   - BIOS area protection fix (aka EMM386.EXE fix) (Mike Nordell)
96   - keyboard/mouse fix (Mike Nordell)
97   - IDE fixes (Linux did not recognized slave drivers)
98   - VM86 EIP masking fix (aka NT5 install fix) (Mike Nordell)
99   - QEMU can now boot a PowerPC Linux kernel (Jocelyn Mayer)
100   - User mode network stack
101   - imul imm8 fix + 0x82 opcode support (Hidemi KAWAI)
102   - precise self modifying code (aka BeOS install bug)
104 version 0.5.3:
106   - added Bochs VESA VBE support
107   - VGA memory map mode 3 access fix (OS/2 install fix)
108   - IDE fixes (Jens Axboe)
109   - CPU interrupt fixes
110   - fixed various TLB invalidation cases (NT install)
111   - fixed cr0.WP semantics (XP install)
112   - direct chaining support for SPARC and PowerPC (faster)
113   - ARM NWFPE support (initial patch by Ulrich Hecht)
114   - added specific x86 to x86 translator (close to native performance
115     in qemu-i386 and qemu-fast)
116   - shm syscalls support (Paul McKerras)
117   - added accurate CR0.MP/ME/TS emulation
118   - fixed DMA memory write access (Win95 boot floppy fix)
119   - graphical x86 linux loader
120   - command line monitor 
121   - generic removable device support
122   - support of CD-ROM change
123   - multiple network interface support
124   - initial x86-64 host support (Gwenole Beauchesne)
125   - lret to outer priviledge fix (OS/2 install fix)
126   - task switch fixes (SkyOS boot)
127   - VM save/restore commands
128   - new timer API
129   - more precise RTC emulation (periodic timers + time updates)
130   - Win32 port (initial patch by Kazu)
132 version 0.5.2:
134   - improved soft MMU speed (assembly functions and specializing)
135   - improved multitasking speed by avoiding flushing TBs when
136     switching tasks
137   - improved qemu-fast speed
138   - improved self modifying code handling (big performance gain in
139     softmmu mode).
140   - fixed IO checking
141   - fixed CD-ROM detection (win98 install CD)
142   - fixed addseg real mode bug (GRUB boot fix)
143   - added ROM memory support (win98 boot)
144   - fixed 'call Ev' in case of paging exception
145   - updated the script 'qemu-binfmt-conf.sh' to use QEMU automagically
146     when launching executables for the supported target CPUs.
147   - PowerPC system emulation update (Jocelyn Mayer)
148   - PC floppy emulation and DMA fixes (Jocelyn Mayer)
149   - polled mode for PIC (Jocelyn Mayer)
150   - fixed PTE dirty bit handling
151   - fixed xadd same reg bug
152   - fixed cmpxchg exception safeness
153   - access to virtual memory in gdb stub
154   - task gate and NT flag fixes
155   - eflags optimisation fix for string operations
157 version 0.5.1:
158   
159   - float access fixes when using soft mmu
160   - PC emulation support on PowerPC
161   - A20 support
162   - IDE CD-ROM emulation
163   - ARM fixes (Ulrich Hecht)
164   - SB16 emulation (malc)
165   - IRET and INT fixes in VM86 mode with IOPL=3
166   - Port I/Os use TSS io map
167   - Full task switching/task gate support
168   - added verr, verw, arpl, fcmovxx
169   - PowerPC target support (Jocelyn Mayer)
170   - Major SPARC target fixes (dynamically linked programs begin to work)
172 version 0.5.0:
173   
174   - full hardware level VGA emulation
175   - graphical display with SDL
176   - added PS/2 mouse and keyboard emulation
177   - popw (%esp) fix
178   - mov to/from segment data width fix
179   - added real mode support
180   - added Bochs BIOS and LGPL'ed VGA BIOS loader in qemu
181   - m68k host port (Richard Zidlicky)
182   - partial soft MMU support for memory mapped I/Os
183   - multi-target build
184   - fixed: no error code in hardware interrupts
185   - fixed: pop ss, mov ss, x and sti disable hardware irqs for the next insn
186   - correct single stepping thru string operations
187   - preliminary SPARC target support (Thomas M. Ogrisegg)
188   - tun-fd option (Rusty Russell)
189   - automatic IDE geometry detection
190   - renamed 'vl' to qemu[-fast] and user qemu to qemu-{cpu}.
191   - added man page
192   - added full soft mmu mode to launch unpatched OSes.
194 version 0.4.3:
196   - x86 exception fix in case of nop instruction.
197   - gcc 3.2.2 bug workaround (RedHat 9 fix)
198   - sparc and Alpha host fixes
199   - many ARM target fixes: 'ls' and 'bash' can be launched.
201 version 0.4.2:
203  - many exception handling fixes (can compile a Linux kernel inside vl)
204  - IDE emulation support
205  - initial GDB stub support
206  - deferred update support for disk images (Rusty Russell)
207  - accept User Mode Linux Copy On Write disk images
208  - SMP kernels can at least be booted
210 version 0.4.1:
211   
212  - more accurate timer support in vl.
213  - more reliable NE2000 probe in vl.
214  - added 2.5.66 kernel in vl-test.
215  - added VLTMPDIR environment variable in vl.
217 version 0.4:
219  - initial support for ring 0 x86 processor emulation
220  - fixed signal handling for correct dosemu DPMI emulation
221  - fast x86 MMU emulation with mmap()
222  - fixed popl (%esp) case
223  - Linux kernel can be executed by QEMU with the 'vl' command.
225 version 0.3:
227  - initial support for ARM emulation
228  - added fnsave, frstor, fnstenv, fldenv FPU instructions
229  - added FPU register save in signal emulation
230  - initial ARM port
231  - Sparc and Alpha ports work on the regression test
232  - generic ioctl number conversion
233  - fixed ioctl type conversion
235 version 0.2:
237  - PowerPC disassembly and ELF symbols output (Rusty Russell)
238  - flock support (Rusty Russell)
239  - ugetrlimit support (Rusty Russell)
240  - fstat64 fix (Rusty Russell)
241  - initial Alpha port (Falk Hueffner)
242  - initial IA64 port (Matt Wilson)
243  - initial Sparc and Sparc64 port (David S. Miller)
244  - added HLT instruction
245  - LRET instruction fix.
246  - added GPF generation for I/Os.
247  - added INT3 and TF flag support.
248  - SHL instruction C flag fix.
249  - mmap emulation for host page size > 4KB
250  - self-modifying code support
251  - better VM86 support (dosemu works on non trivial programs)
252  - precise exception support (EIP is computed correctly in most cases)
253  - more precise LDT/GDT/IDT emulation
254  - faster segment load in vm86 mode
255  - direct chaining of basic blocks (faster emulation)
257 version 0.1.6:
259  - automatic library search system. QEMU can now work with unpatched
260    ELF dynamic loader and libc (Rusty Russell).
261  - ISO C warning fixes (Alistair Strachan)
262  - first self-virtualizable version (works only as long as the
263    translation cache is not flushed)
264  - RH9 fixes
266 version 0.1.5:
268  - ppc64 support + personality() patch (Rusty Russell)
269  - first Alpha CPU patches (Falk Hueffner)
270  - removed bfd.h dependancy
271  - fixed shrd, shld, idivl and divl on PowerPC.
272  - fixed buggy glibc PowerPC rint() function (test-i386 passes now on PowerPC).
274 version 0.1.4:
276  - more accurate VM86 emulation (can launch small DOS 16 bit
277    executables in wine).
278  - fixed push/pop fs/gs
279  - added iret instruction.
280  - added times() syscall and SIOCATMARK ioctl.
282 version 0.1.3:
284  - S390 support (Ulrich Weigand)
285  - glibc 2.3.x compile fix (Ulrich Weigand)
286  - socketcall endian fix (Ulrich Weigand)
287  - struct sockaddr endian fix (Ulrich Weigand)
288  - sendmsg/recvmsg endian fix (Ulrich Weigand)
289  - execve endian fix (Ulrich Weigand)
290  - fdset endian fix (Ulrich Weigand)
291  - partial setsockopt syscall support (Ulrich Weigand)
292  - more accurate pushf/popf emulation
293  - first partial vm86() syscall support (can be used with runcom example).
294  - added bound, cmpxchg8b, cpuid instructions
295  - added 16 bit addressing support/override for string operations
296  - poll() fix
298 version 0.1.2:
300  - compile fixes
301  - xlat instruction
302  - xchg instruction memory lock
303  - added simple vm86 example (not working with QEMU yet). The 54 byte
304    DOS executable 'pi_10.com' program was released by Bertram
305    Felgenhauer (more information at http://www.boo.net/~jasonp/pipage.html).
307 version 0.1.1:
309  - glibc 2.2 compilation fixes
310  - added -s and -L options
311  - binary distribution of x86 glibc and wine
312  - big endian fixes in ELF loader and getdents.
314 version 0.1:
316  - initial public release.