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