diff -urN linux/arch/i386/boot/bootsect.S linux-2.3.14-work/arch/i386/boot/bootsect.S
--- linux/arch/i386/boot/bootsect.S	Wed Aug 18 18:03:05 1999
+++ linux-2.3.14-work/arch/i386/boot/bootsect.S	Thu Aug 19 14:13:16 1999
@@ -106,12 +106,12 @@
 	seg fs
 	lds	si,(bx)			! ds:si is source
 
-	mov	cl,#6			! copy 12 bytes
+	mov	cl,#3			! copy 12 bytes
 	cld
 	push	di
 
 	rep
-	movsw
+	movsd
 
 	pop	di
 	pop	ds
@@ -125,7 +125,7 @@
 
 ! load the setup-sectors directly after the bootblock.
 ! Note that 'es' is already set up.
-! Also cx is 0 from rep movsw above.
+! Also cx is 0 from rep movsd above.
 
 load_setup:
 	xor	ah,ah			! reset FDC 
diff -urN linux/arch/i386/boot/setup.S linux-2.3.14-work/arch/i386/boot/setup.S
--- linux/arch/i386/boot/setup.S	Tue Jul  6 04:04:47 1999
+++ linux-2.3.14-work/arch/i386/boot/setup.S	Thu Aug 19 14:24:56 1999
@@ -188,9 +188,9 @@
 	xor	bh,bh
 	mov	bl,[497]	! get setup sects from boot sector
 	sub	bx,#4		! LILO loads 4 sectors of setup
-	shl	bx,#8		! convert to words
+	shl	bx,#7		! convert to dwords (1sect=2^7 dwords)
 	mov	cx,bx
-	shr	bx,#3		! convert to segment
+	shr	bx,#2		! convert to segment
 	add	bx,#SYSSEG
 	seg cs
 	mov	start_sys_seg,bx
@@ -203,7 +203,7 @@
 	mov	ax,#SYSSEG
 	mov	ds,ax
 	rep
-	movsw
+	movsd
 
 	mov	ax,cs		! aka #SETUPSEG
 	mov	ds,ax
@@ -485,9 +485,9 @@
 	add	bx,#0x100
 	sub	di,di
 	sub	si,si
-	mov 	cx,#0x800
+	mov 	cx,#0x400
 	rep
-	movsw
+	movsd
 	cmp	bx,bp		! we assume start_sys_seg > 0x200,
 				! so we will perhaps read one page more then
 				! needed, but never overwrite INITSEG because
diff -urN linux/arch/i386/kernel/i8259.c linux-2.3.14-work/arch/i386/kernel/i8259.c
--- linux/arch/i386/kernel/i8259.c	Wed Aug 18 19:23:31 1999
+++ linux-2.3.14-work/arch/i386/kernel/i8259.c	Thu Aug 19 14:43:51 1999
@@ -10,7 +10,6 @@
 #include <linux/malloc.h>
 #include <linux/random.h>
 #include <linux/smp.h>
-#include <linux/tasks.h>
 #include <linux/smp_lock.h>
 #include <linux/init.h>