patch-2.2.18 linux/arch/i386/boot/setup.S

Next file: linux/arch/i386/config.in
Previous file: linux/arch/arm/vmlinux-armv.lds.in
Back to the patch index
Back to the overall index

diff -u --new-file --recursive --exclude-from /usr/src/exclude v2.2.17/arch/i386/boot/setup.S linux/arch/i386/boot/setup.S
@@ -30,6 +30,10 @@
 ! Extended memory detection scheme retwiddled by orc@pell.chi.il.us (david
 ! parsons) to avoid loadlin confusion, July 1997
 !
+!
+! A20 gating fiddled to work on AMD Elan AmSC4xx series by kira@linuxgrrls.org
+! july 1999
+!
 
 #define __ASSEMBLY__
 #include <linux/config.h>
@@ -548,6 +552,14 @@
 	lgdt	gdt_48		! load gdt with whatever appropriate
 
 ! that was painless, now we enable A20
+
+! if this is SC410 or a few other bits we need to do it with the 'fast' method
+
+        in      al,#0x92        ! read "System Control Port A"
+        or      al,#0x02        ! Set "Alternate Gate A20" - Bit
+        out     #0x92,al        ! write "System Control Port A"
+
+! do it the normal way too, so as not to upset normal machines
 
 	call	empty_8042
 	mov	al,#0xD1		! command write

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)