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