Messages in this thread Patch in this message | | | From | Robert Kaiser <> | Subject | A20 Gate enable sequence (setup.S) | Date | Fri, 13 Oct 2000 18:08:48 +0200 |
| |
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/
| |