diff --git a/Changelog b/Changelog
index 5d92f07..525f019 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,12 @@
+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.
diff --git a/Makefile b/Makefile
index ef6aef2..1db299e 100644
--- a/Makefile
+++ b/Makefile
@@ -141,7 +141,7 @@
 
 # must use static linking to avoid leaving stuff in virtual address space
 vl: vl.o block.o libqemu.a
-	$(CC) -pg -static -Wl,-T,i386-vl.ld -o $@ $^  $(LIBS)
+	$(CC) -static -Wl,-T,i386-vl.ld -o $@ $^  $(LIBS)
 
 vlmkcow: vlmkcow.o
 	$(CC) -o $@ $^  $(LIBS)
@@ -213,11 +213,11 @@
 Makefile elf.h elfload.c main.c signal.c qemu.h \
 syscall.c syscall_defs.h vm86.c path.c mmap.c \
 i386.ld ppc.ld alpha.ld s390.ld sparc.ld arm.ld\
-vl.c i386-vl.ld vl.h block.c\
+vl.c i386-vl.ld vl.h block.c vlmkcow.c\
 thunk.c cpu-exec.c translate.c cpu-all.h thunk.h exec.h\
-exec.c cpu-exec.c\
+exec.c cpu-exec.c gdbstub.c\
 cpu-i386.h op-i386.c helper-i386.c syscall-i386.h translate-i386.c \
-exec-i386.h ops_template.h op_string.h opreg_template.h \
+exec-i386.h ops_template.h ops_template_mem.h op_string.h opreg_template.h \
 cpu-arm.h syscall-arm.h exec-arm.h op-arm.c translate-arm.c op-arm-template.h \
 dis-asm.h disas.c disas.h alpha-dis.c ppc-dis.c i386-dis.c sparc-dis.c \
 arm-dis.c \
diff --git a/TODO b/TODO
index 2f65f7d..56229df 100644
--- a/TODO
+++ b/TODO
@@ -1,16 +1,17 @@
-
-- finish segment ops (call far, ret far, load_seg suppressed)
-- fix arm fpu rounding (at least for float->integer conversions)
+- optimize FPU operations (evaluate x87 stack pointer statically) and
+  fix cr0.TS emulation
 - fix CCOP optimisation
-- optimize FPU operations (evaluate x87 stack pointer statically) 
-- fpush not before mem load restarting
 - fix all remaining thread lock issues (must put TBs in a specific invalid
   state, find a solution for tb_flush()).
-- add gcc 2.96 test configure (some gcc3 flags are needed)
+- cpu loop optimisation (optimise ret case as the cpu state does not change)
+- fix arm fpu rounding (at least for float->integer conversions)
 - add IPC syscalls
 
 lower priority:
 --------------
+- sysenter/sysexit emulation
+- SMP support
+- finish segment ops (call far, ret far, load_seg suppressed)
 - use -msoft-float on ARM
 - use kernel traps for unaligned accesses on ARM ?
 - handle rare page fault cases (in particular if page fault in heplers or
diff --git a/VERSION b/VERSION
index 44bb5d1..f7abe27 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.4.1
\ No newline at end of file
+0.4.2
\ No newline at end of file
diff --git a/cpu-all.h b/cpu-all.h
index 5c414e8..d61ad77 100644
--- a/cpu-all.h
+++ b/cpu-all.h
@@ -311,7 +311,7 @@
 
 #define CPU_INTERRUPT_EXIT 0x01 /* wants exit from main loop */
 #define CPU_INTERRUPT_HARD 0x02 /* hardware interrupt pending */
-void cpu_interrupt(CPUX86State *s, int mask);
+void cpu_interrupt(CPUState *s, int mask);
 
 /* gdb stub API */
 extern int gdbstub_fd;
diff --git a/cpu-arm.h b/cpu-arm.h
index e372088..3b2e628 100644
--- a/cpu-arm.h
+++ b/cpu-arm.h
@@ -49,7 +49,6 @@
 
 CPUARMState *cpu_arm_init(void);
 int cpu_arm_exec(CPUARMState *s);
-void cpu_arm_interrupt(CPUARMState *s);
 void cpu_arm_close(CPUARMState *s);
 /* you can call this signal handler from your SIGBUS and SIGSEGV
    signal handlers to inform the virtual CPU of exceptions. non zero
diff --git a/qemu-doc.texi b/qemu-doc.texi
index 917717b..b3a13b9 100644
--- a/qemu-doc.texi
+++ b/qemu-doc.texi
@@ -240,9 +240,9 @@
 
 @enumerate
 @item
-Download the archive @file{vl-test-xxx.tar.gz} containing a Linux kernel
-and an initrd (initial Ram Disk). The archive also contains a
-precompiled version of @file{vl}, the QEMU System emulator.
+Download the archive @file{vl-test-xxx.tar.gz} containing a Linux
+kernel and a disk image. The archive also contains a precompiled
+version of @file{vl}, the QEMU System emulator.
 
 @item Optional: If you want network support (for example to launch X11 examples), you
 must copy the script @file{vl-ifup} in @file{/etc} and configure
@@ -262,20 +262,25 @@
 > ./vl.sh 
 connected to host network interface: tun0
 Uncompressing Linux... Ok, booting the kernel.
-Linux version 2.4.20 (bellard@voyager) (gcc version 2.95.2 20000220 (Debian GNU/Linux)) #42 Wed Jun 25 14:16:12 CEST 2003
+Linux version 2.4.20 (fabrice@localhost.localdomain) (gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-110)) #22 lun jui 7 13:37:41 CEST 2003
 BIOS-provided physical RAM map:
- BIOS-88: 0000000000000000 - 000000000009f000 (usable)
- BIOS-88: 0000000000100000 - 0000000002000000 (usable)
+ BIOS-e801: 0000000000000000 - 000000000009f000 (usable)
+ BIOS-e801: 0000000000100000 - 0000000002000000 (usable)
 32MB LOWMEM available.
 On node 0 totalpages: 8192
 zone(0): 4096 pages.
 zone(1): 4096 pages.
 zone(2): 0 pages.
-Kernel command line: root=/dev/ram ramdisk_size=6144
+Kernel command line: root=/dev/hda ide1=noprobe ide2=noprobe ide3=noprobe ide4=noprobe ide5=noprobe
+ide_setup: ide1=noprobe
+ide_setup: ide2=noprobe
+ide_setup: ide3=noprobe
+ide_setup: ide4=noprobe
+ide_setup: ide5=noprobe
 Initializing CPU#0
-Detected 501.785 MHz processor.
-Calibrating delay loop... 973.20 BogoMIPS
-Memory: 24776k/32768k available (725k kernel code, 7604k reserved, 151k data, 48k init, 0k highmem)
+Detected 501.285 MHz processor.
+Calibrating delay loop... 989.59 BogoMIPS
+Memory: 29268k/32768k available (907k kernel code, 3112k reserved, 212k data, 52k init, 0k highmem)
 Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
 Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
 Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
@@ -289,24 +294,30 @@
 Initializing RT netlink socket
 apm: BIOS not found.
 Starting kswapd
+Journalled Block Device driver loaded
 pty: 256 Unix98 ptys configured
 Serial driver version 5.05c (2001-07-08) with no serial options enabled
 ttyS00 at 0x03f8 (irq = 4) is a 16450
+Uniform Multi-Platform E-IDE driver Revision: 6.31
+ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
+hda: QEMU HARDDISK, ATA DISK drive
+ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
+hda: 12288 sectors (6 MB) w/256KiB Cache, CHS=12/16/63
+Partition check:
+ hda: unknown partition table
 ne.c:v1.10 9/23/94 Donald Becker (becker@scyld.com)
 Last modified Nov 1, 2000 by Paul Gortmaker
 NE*000 ethercard probe at 0x300: 52 54 00 12 34 56
 eth0: NE2000 found at 0x300, using IRQ 9.
-RAMDISK driver initialized: 16 RAM disks of 6144K size 1024 blocksize
+RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
 NET4: Linux TCP/IP 1.0 for NET4.0
 IP Protocols: ICMP, UDP, TCP, IGMP
 IP: routing cache hash table of 512 buckets, 4Kbytes
-TCP: Hash tables configured (established 2048 bind 2048)
+TCP: Hash tables configured (established 2048 bind 4096)
 NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
-RAMDISK: ext2 filesystem found at block 0
-RAMDISK: Loading 6144 blocks [1 disk] into ram disk... done.
-Freeing initrd memory: 6144k freed
+EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
 VFS: Mounted root (ext2 filesystem).
-Freeing unused kernel memory: 48k freed
+Freeing unused kernel memory: 52k freed
 sh: can't access tty; job control turned off
 #
 @end example
@@ -338,7 +349,7 @@
 NOTES:
 @enumerate
 @item 
-A 2.5.66 kernel is also included in the vl-test archive. Just
+A 2.5.74 kernel is also included in the vl-test archive. Just
 replace the bzImage in vl.sh to try it.
 
 @item 
@@ -348,7 +359,19 @@
 unnecessary disk accesses.
 
 @item 
-The example initrd is a modified version of the one made by Kevin
+In order to exit cleanly for vl, you can do a @emph{shutdown} inside
+vl. vl will automatically exit when the Linux shutdown is done.
+
+@item 
+You can boot slightly faster by disabling the probe of non present IDE
+interfaces. To do so, add the following options on the kernel command
+line:
+@example
+ide1=noprobe ide2=noprobe ide3=noprobe ide4=noprobe ide5=noprobe
+@end example
+
+@item 
+The example disk image is a modified version of the one made by Kevin
 Lawton for the plex86 Project (@url{www.plex86.org}).
 
 @end enumerate
@@ -363,9 +386,6 @@
 
 General options:
 @table @option
-@item -initrd file
-Use 'file' as initial ram disk.
-
 @item -hda file
 @item -hdb file
 Use 'file' as hard disk 0 or 1 image (@xref{disk_images}). 
@@ -383,6 +403,9 @@
 Set network init script [default=/etc/vl-ifup]. This script is
 launched to configure the host network interface (usually tun0)
 corresponding to the virtual NE2000 card.
+
+@item -initrd file
+Use 'file' as initial ram disk.
 @end table
 
 Debug options:
@@ -481,13 +504,17 @@
 the real one. To know it, use the @code{ls -ls} command.
 @end enumerate
 
-@section Kernel Compilation
+@section Linux Kernel Compilation
 
-You can use any Linux kernel within QEMU provided it is mapped at
-address 0x90000000 (the default is 0xc0000000). You must modify only two
-lines in the kernel source:
+You should be able to use any kernel with QEMU provided you make the
+following changes (only 2.4.x and 2.5.x were tested):
 
-In asm/page.h, replace
+@enumerate
+@item
+The kernel must be mapped at 0x90000000 (the default is
+0xc0000000). You must modify only two lines in the kernel source:
+
+In @file{include/asm/page.h}, replace
 @example
 #define __PAGE_OFFSET           (0xc0000000)
 @end example
@@ -496,7 +523,7 @@
 #define __PAGE_OFFSET           (0x90000000)
 @end example
 
-And in arch/i386/vmlinux.lds, replace
+And in @file{arch/i386/vmlinux.lds}, replace
 @example
   . = 0xc0000000 + 0x100000;
 @end example
@@ -505,22 +532,25 @@
   . = 0x90000000 + 0x100000;
 @end example
 
-The file config-2.4.20 gives the configuration of the example kernel.
-
-Just type
+@item
+If you want to enable SMP (Symmetric Multi-Processing) support, you
+must make the following change in @file{include/asm/fixmap.h}. Replace
 @example
-make bzImage
+#define FIXADDR_TOP	(0xffffX000UL)
 @end example
+by 
+@example
+#define FIXADDR_TOP	(0xa7ffX000UL)
+@end example
+(X is 'e' or 'f' depending on the kernel version). Although you can
+use an SMP kernel with QEMU, it only supports one CPU.
 
-As you would do to make a real kernel. Then you can use with QEMU
-exactly the same kernel as you would boot on your PC (in
-@file{arch/i386/boot/bzImage}).
-
+@item
 If you are not using a 2.5 kernel as host kernel but if you use a target
 2.5 kernel, you must also ensure that the 'HZ' define is set to 100
 (1000 is the default) as QEMU cannot currently emulate timers at
 frequencies greater than 100 Hz on host Linux systems < 2.5. In
-asm/param.h, replace:
+@file{include/asm/param.h}, replace:
 
 @example
 # define HZ		1000		/* Internal kernel timer frequency */
@@ -530,8 +560,18 @@
 # define HZ		100		/* Internal kernel timer frequency */
 @end example
 
-If you have problems running your kernel, verify that neither the SMP nor
-HIGHMEM configuration options are activated.
+@end enumerate
+
+The file config-2.x.x gives the configuration of the example kernels.
+
+Just type
+@example
+make bzImage
+@end example
+
+As you would do to make a real kernel. Then you can use with QEMU
+exactly the same kernel as you would boot on your PC (in
+@file{arch/i386/boot/bzImage}).
 
 @section PC Emulation
 
@@ -733,7 +773,7 @@
 a linked list of every translated block contained in a given page. Other
 linked lists are also maintained to undo direct block chaining. 
 
-Althought the overhead of doing @code{mprotect()} calls is important,
+Although the overhead of doing @code{mprotect()} calls is important,
 most MSDOS programs can be emulated at reasonnable speed with QEMU and
 DOSEMU.
 
@@ -802,7 +842,7 @@
 
 @section Self-virtualization
 
-QEMU was conceived so that ultimately it can emulate itself. Althought
+QEMU was conceived so that ultimately it can emulate itself. Although
 it is not very useful, it is an important test to show the power of the
 emulator.
 
diff --git a/vlmkcow.c b/vlmkcow.c
index 435ed21..80d9a08 100644
--- a/vlmkcow.c
+++ b/vlmkcow.c
@@ -85,7 +85,8 @@
 
 void help(void)
 {
-    printf("usage vlmkcow [-h] [-f disk_image] cow_image [cow_size]\n"
+    printf("vlmkcow version " QEMU_VERSION ", Copyright (c) 2003 Fabrice Bellard\n"
+           "usage: vlmkcow [-h] [-f disk_image] cow_image [cow_size]\n"
            "Create a Copy On Write disk image from an optional raw disk image\n"
            "\n"
            "-f disk_image   set the raw disk image name\n"
