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