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