patch-2.1.106 linux/arch/i386/boot/setup.S
Next file: linux/arch/i386/kernel/entry.S
Previous file: linux/arch/arm/kernel/sys_arm.c
Back to the patch index
Back to the overall index
-  Lines: 25
-  Date:
Wed Jun 10 14:01:49 1998
-  Orig file: 
v2.1.105/linux/arch/i386/boot/setup.S
-  Orig date: 
Mon Feb 23 18:12:02 1998
diff -u --recursive --new-file v2.1.105/linux/arch/i386/boot/setup.S linux/arch/i386/boot/setup.S
@@ -531,6 +531,24 @@
 	out	#0x60,al
 	call	empty_8042
 
+! wait until a20 really *is* enabled; it can take a fair amount of
+! time on any
+	
+	push	ds
+	push	es
+	xor	ax,ax			! segment 0x0000
+	mov	ds,ax
+	dec	ax			! segment 0xffff (HMA)
+	mov	es,ax
+a20_wait:
+	inc	ax
+	mov	[0x7c00],ax		! any unused memory location < 64K
+	seg	es
+	cmp	ax,[0x7c10]		! corresponding HMA address
+	je	a20_wait		! loop until no longer aliased
+	pop	es
+	pop	ds
+		
 ! make sure any possible coprocessor is properly reset..
 
 	xor	ax,ax
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov