lkml.org 
[lkml]   [2000]   [Oct]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectA20 Gate enable sequence (setup.S)
Date

Hi list,

There seem to be two common methods for ix86-based boards to enable the
A20 line: The traditional method that uses the keyboard controller (this
is what Linux supports) and a method (sometimes referred to as "fast
A20 Gate") that uses a special port address (0x92).

Some boards (especially in the embedded PC area) implement only the
latter method (some don't even _have_ a keyboard controller).
With these boards, Linux fails to boot.

The fix for this is pretty simple (see below) and I wonder if it
would be possible to get this fix into the kernel by default.


Cheers

Rob

----------------------------------------------------------------
Robert Kaiser email: rkaiser@sysgo.de
SYSGO RTS GmbH
Am Pfaffenstein 14 http://www.elinos.com
D-55270 Klein-Winternheim / Germany http://www.sysgo.de


diff -urN linux-2.4.0-test8/arch/i386/boot/setup.S linux/arch/i386/boot/setup.S
--- linux-2.4.0-test8/arch/i386/boot/setup.S Wed Jul 19 07:00:33 2000
+++ linux/arch/i386/boot/setup.S Fri Oct 13 18:00:42 2000
@@ -631,6 +631,16 @@
# appropriate

# that was painless, now we enable a20
+
+# enable the "fast" A20 gate
+
+ in al,#0x92
+ or al,#2
+ and al,#0xfe
+ out #0x92,al
+
+# enable the keyboard controller A20 gate
+
call empty_8042

movb $0xD1, %al # command write
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 12:41    [W:0.082 / U:0.496 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site