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: [EMAIL PROTECTED]
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 [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to