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

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.



Robert Kaiser email:
Am Pfaffenstein 14
D-55270 Klein-Winternheim / Germany

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
Please read the FAQ at
 \ /
  Last update: 2005-03-22 12:41    [W:17.736 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site