adding direct block chaining support - simplified branch code gen
[qemu] / Changelog
1 version 0.5.3:
2
3   - added Bochs VESA VBE support
4   - VGA memory map mode 3 access fix (OS/2 install fix)
5   - IDE fixes (Jens Axboe)
6   - CPU interrupt fixes
7   - fixed various TLB invalidation cases (NT install)
8   - fixed cr0.WP semantics (XP install)
9   - direct chaining support for SPARC (3x faster)
10   - ARM NWFPE support (initial patch by Ulrich Hecht)
11   - added specific x86 to x86 translator (close to native performance
12     in qemu-i386 and qemu-fast)
13   
14 version 0.5.2:
15
16   - improved soft MMU speed (assembly functions and specializing)
17   - improved multitasking speed by avoiding flushing TBs when
18     switching tasks
19   - improved qemu-fast speed
20   - improved self modifying code handling (big performance gain in
21     softmmu mode).
22   - fixed IO checking
23   - fixed CD-ROM detection (win98 install CD)
24   - fixed addseg real mode bug (GRUB boot fix)
25   - added ROM memory support (win98 boot)
26   - fixed 'call Ev' in case of paging exception
27   - updated the script 'qemu-binfmt-conf.sh' to use QEMU automagically
28     when launching executables for the supported target CPUs.
29   - PowerPC system emulation update (Jocelyn Mayer)
30   - PC floppy emulation and DMA fixes (Jocelyn Mayer)
31   - polled mode for PIC (Jocelyn Mayer)
32   - fixed PTE dirty bit handling
33   - fixed xadd same reg bug
34   - fixed cmpxchg exception safeness
35   - access to virtual memory in gdb stub
36   - task gate and NT flag fixes
37   - eflags optimisation fix for string operations
38
39 version 0.5.1:
40   
41   - float access fixes when using soft mmu
42   - PC emulation support on PowerPC
43   - A20 support
44   - IDE CD-ROM emulation
45   - ARM fixes (Ulrich Hecht)
46   - SB16 emulation (malc)
47   - IRET and INT fixes in VM86 mode with IOPL=3
48   - Port I/Os use TSS io map
49   - Full task switching/task gate support
50   - added verr, verw, arpl, fcmovxx
51   - PowerPC target support (Jocelyn Mayer)
52   - Major SPARC target fixes (dynamically linked programs begin to work)
53
54 version 0.5.0:
55   
56   - full hardware level VGA emulation
57   - graphical display with SDL
58   - added PS/2 mouse and keyboard emulation
59   - popw (%esp) fix
60   - mov to/from segment data width fix
61   - added real mode support
62   - added Bochs BIOS and LGPL'ed VGA BIOS loader in qemu
63   - m68k host port (Richard Zidlicky)
64   - partial soft MMU support for memory mapped I/Os
65   - multi-target build
66   - fixed: no error code in hardware interrupts
67   - fixed: pop ss, mov ss, x and sti disable hardware irqs for the next insn
68   - correct single stepping thru string operations
69   - preliminary SPARC target support (Thomas M. Ogrisegg)
70   - tun-fd option (Rusty Russell)
71   - automatic IDE geometry detection
72   - renamed 'vl' to qemu[-fast] and user qemu to qemu-{cpu}.
73   - added man page
74   - added full soft mmu mode to launch unpatched OSes.
75
76 version 0.4.3:
77
78   - x86 exception fix in case of nop instruction.
79   - gcc 3.2.2 bug workaround (RedHat 9 fix)
80   - sparc and Alpha host fixes
81   - many ARM target fixes: 'ls' and 'bash' can be launched.
82
83 version 0.4.2:
84
85  - many exception handling fixes (can compile a Linux kernel inside vl)
86  - IDE emulation support
87  - initial GDB stub support
88  - deferred update support for disk images (Rusty Russell)
89  - accept User Mode Linux Copy On Write disk images
90  - SMP kernels can at least be booted
91
92 version 0.4.1:
93   
94  - more accurate timer support in vl.
95  - more reliable NE2000 probe in vl.
96  - added 2.5.66 kernel in vl-test.
97  - added VLTMPDIR environment variable in vl.
98
99 version 0.4:
100
101  - initial support for ring 0 x86 processor emulation
102  - fixed signal handling for correct dosemu DPMI emulation
103  - fast x86 MMU emulation with mmap()
104  - fixed popl (%esp) case
105  - Linux kernel can be executed by QEMU with the 'vl' command.
106
107 version 0.3:
108
109  - initial support for ARM emulation
110  - added fnsave, frstor, fnstenv, fldenv FPU instructions
111  - added FPU register save in signal emulation
112  - initial ARM port
113  - Sparc and Alpha ports work on the regression test
114  - generic ioctl number conversion
115  - fixed ioctl type conversion
116
117 version 0.2:
118
119  - PowerPC disassembly and ELF symbols output (Rusty Russell)
120  - flock support (Rusty Russell)
121  - ugetrlimit support (Rusty Russell)
122  - fstat64 fix (Rusty Russell)
123  - initial Alpha port (Falk Hueffner)
124  - initial IA64 port (Matt Wilson)
125  - initial Sparc and Sparc64 port (David S. Miller)
126  - added HLT instruction
127  - LRET instruction fix.
128  - added GPF generation for I/Os.
129  - added INT3 and TF flag support.
130  - SHL instruction C flag fix.
131  - mmap emulation for host page size > 4KB
132  - self-modifying code support
133  - better VM86 support (dosemu works on non trivial programs)
134  - precise exception support (EIP is computed correctly in most cases)
135  - more precise LDT/GDT/IDT emulation
136  - faster segment load in vm86 mode
137  - direct chaining of basic blocks (faster emulation)
138
139 version 0.1.6:
140
141  - automatic library search system. QEMU can now work with unpatched
142    ELF dynamic loader and libc (Rusty Russell).
143  - ISO C warning fixes (Alistair Strachan)
144  - first self-virtualizable version (works only as long as the
145    translation cache is not flushed)
146  - RH9 fixes
147
148 version 0.1.5:
149
150  - ppc64 support + personality() patch (Rusty Russell)
151  - first Alpha CPU patches (Falk Hueffner)
152  - removed bfd.h dependancy
153  - fixed shrd, shld, idivl and divl on PowerPC.
154  - fixed buggy glibc PowerPC rint() function (test-i386 passes now on PowerPC).
155
156 version 0.1.4:
157
158  - more accurate VM86 emulation (can launch small DOS 16 bit
159    executables in wine).
160  - fixed push/pop fs/gs
161  - added iret instruction.
162  - added times() syscall and SIOCATMARK ioctl.
163
164 version 0.1.3:
165
166  - S390 support (Ulrich Weigand)
167  - glibc 2.3.x compile fix (Ulrich Weigand)
168  - socketcall endian fix (Ulrich Weigand)
169  - struct sockaddr endian fix (Ulrich Weigand)
170  - sendmsg/recvmsg endian fix (Ulrich Weigand)
171  - execve endian fix (Ulrich Weigand)
172  - fdset endian fix (Ulrich Weigand)
173  - partial setsockopt syscall support (Ulrich Weigand)
174  - more accurate pushf/popf emulation
175  - first partial vm86() syscall support (can be used with runcom example).
176  - added bound, cmpxchg8b, cpuid instructions
177  - added 16 bit addressing support/override for string operations
178  - poll() fix
179  
180 version 0.1.2:
181
182  - compile fixes
183  - xlat instruction
184  - xchg instruction memory lock
185  - added simple vm86 example (not working with QEMU yet). The 54 byte
186    DOS executable 'pi_10.com' program was released by Bertram
187    Felgenhauer (more information at http://www.boo.net/~jasonp/pipage.html).
188
189 version 0.1.1:
190
191  - glibc 2.2 compilation fixes
192  - added -s and -L options
193  - binary distribution of x86 glibc and wine
194  - big endian fixes in ELF loader and getdents.
195
196 version 0.1:
197
198  - initial public release.