summaryrefslogtreecommitdiff
blob: 3432229f237cddbafbc526e78bf124b97286153f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
version 0.5.1:
  
  - float access fixes when using soft mmu
  - PC emulation support on PowerPC
  - A20 support
  - IDE CD-ROM emulation
  - ARM fixes (Ulrich Hecht)
  - SB16 emulation (malc)
  - IRET and INT fixes in VM86 mode with IOPL=3
  - Port I/Os use TSS io map
  - Full task switching/task gate support
  - added verr, verw, arpl, fcmovxx
  - PowerPC target support (Jocelyn Mayer)
  - Major SPARC target fixes (dynamically linked programs begin to work)

version 0.5.0:
  
  - full hardware level VGA emulation
  - graphical display with SDL
  - added PS/2 mouse and keyboard emulation
  - popw (%esp) fix
  - mov to/from segment data width fix
  - added real mode support
  - added Bochs BIOS and LGPL'ed VGA BIOS loader in qemu
  - m68k host port (Richard Zidlicky)
  - partial soft MMU support for memory mapped I/Os
  - multi-target build
  - fixed: no error code in hardware interrupts
  - fixed: pop ss, mov ss, x and sti disable hardware irqs for the next insn
  - correct single stepping thru string operations
  - preliminary SPARC target support (Thomas M. Ogrisegg)
  - tun-fd option (Rusty Russell)
  - automatic IDE geometry detection
  - renamed 'vl' to qemu[-fast] and user qemu to qemu-{cpu}.
  - added man page
  - added full soft mmu mode to launch unpatched OSes.

version 0.4.3:

  - x86 exception fix in case of nop instruction.
  - gcc 3.2.2 bug workaround (RedHat 9 fix)
  - sparc and Alpha host fixes
  - many ARM target fixes: 'ls' and 'bash' can be launched.

version 0.4.2:

 - many exception handling fixes (can compile a Linux kernel inside vl)
 - IDE emulation support
 - initial GDB stub support
 - deferred update support for disk images (Rusty Russell)
 - accept User Mode Linux Copy On Write disk images
 - SMP kernels can at least be booted

version 0.4.1:
  
 - more accurate timer support in vl.
 - more reliable NE2000 probe in vl.
 - added 2.5.66 kernel in vl-test.
 - added VLTMPDIR environment variable in vl.

version 0.4:

 - initial support for ring 0 x86 processor emulation
 - fixed signal handling for correct dosemu DPMI emulation
 - fast x86 MMU emulation with mmap()
 - fixed popl (%esp) case
 - Linux kernel can be executed by QEMU with the 'vl' command.

version 0.3:

 - initial support for ARM emulation
 - added fnsave, frstor, fnstenv, fldenv FPU instructions
 - added FPU register save in signal emulation
 - initial ARM port
 - Sparc and Alpha ports work on the regression test
 - generic ioctl number conversion
 - fixed ioctl type conversion

version 0.2:

 - PowerPC disassembly and ELF symbols output (Rusty Russell)
 - flock support (Rusty Russell)
 - ugetrlimit support (Rusty Russell)
 - fstat64 fix (Rusty Russell)
 - initial Alpha port (Falk Hueffner)
 - initial IA64 port (Matt Wilson)
 - initial Sparc and Sparc64 port (David S. Miller)
 - added HLT instruction
 - LRET instruction fix.
 - added GPF generation for I/Os.
 - added INT3 and TF flag support.
 - SHL instruction C flag fix.
 - mmap emulation for host page size > 4KB
 - self-modifying code support
 - better VM86 support (dosemu works on non trivial programs)
 - precise exception support (EIP is computed correctly in most cases)
 - more precise LDT/GDT/IDT emulation
 - faster segment load in vm86 mode
 - direct chaining of basic blocks (faster emulation)

version 0.1.6:

 - automatic library search system. QEMU can now work with unpatched
   ELF dynamic loader and libc (Rusty Russell).
 - ISO C warning fixes (Alistair Strachan)
 - first self-virtualizable version (works only as long as the
   translation cache is not flushed)
 - RH9 fixes

version 0.1.5:

 - ppc64 support + personality() patch (Rusty Russell)
 - first Alpha CPU patches (Falk Hueffner)
 - removed bfd.h dependancy
 - fixed shrd, shld, idivl and divl on PowerPC.
 - fixed buggy glibc PowerPC rint() function (test-i386 passes now on PowerPC).

version 0.1.4:

 - more accurate VM86 emulation (can launch small DOS 16 bit
   executables in wine).
 - fixed push/pop fs/gs
 - added iret instruction.
 - added times() syscall and SIOCATMARK ioctl.

version 0.1.3:

 - S390 support (Ulrich Weigand)
 - glibc 2.3.x compile fix (Ulrich Weigand)
 - socketcall endian fix (Ulrich Weigand)
 - struct sockaddr endian fix (Ulrich Weigand)
 - sendmsg/recvmsg endian fix (Ulrich Weigand)
 - execve endian fix (Ulrich Weigand)
 - fdset endian fix (Ulrich Weigand)
 - partial setsockopt syscall support (Ulrich Weigand)
 - more accurate pushf/popf emulation
 - first partial vm86() syscall support (can be used with runcom example).
 - added bound, cmpxchg8b, cpuid instructions
 - added 16 bit addressing support/override for string operations
 - poll() fix
 
version 0.1.2:

 - compile fixes
 - xlat instruction
 - xchg instruction memory lock
 - added simple vm86 example (not working with QEMU yet). The 54 byte
   DOS executable 'pi_10.com' program was released by Bertram
   Felgenhauer (more information at http://www.boo.net/~jasonp/pipage.html).

version 0.1.1:

 - glibc 2.2 compilation fixes
 - added -s and -L options
 - binary distribution of x86 glibc and wine
 - big endian fixes in ELF loader and getdents.

version 0.1:

 - initial public release.