Linux-kernel mailing list archive 2000-29,: RE: A20 gate control question.

# RE: A20 gate control question.

Dunlap, Randy (randy.dunlap@intel.com)
Mon, 17 Jul 2000 09:46:17 -0700

- Messages sorted by: [ date ][ thread ][ subject ][ author ]
- Next message: Stephen C. Tweedie: "sard-0.6 released"
- Previous message: Matti Aarnio: "Re: Ext2fs file sizes"

> Hi.

Jesse Off (joff@newmonics.com) posted a patch to do
this on Oct. 26, 1999. His patch needs to be added
to setup.S IMO, along with the current gating of A20.

<from joff:>
The company I work for, NewMonics, does a lot of work on embedded systems
and we've recently ported our product (a lightweight realtime Java virtual
machine) to Linux. On some of the embedded systems/PLC's we work with
(specifically, those based on the AMD Elan SC310 and SC300 386
microcontrollers) Linux fails to boot because the keyboard controller is
not there to set the A20 bit. These machines are headless, keyboardless,
and diskless (except for a small PCMCIA flash card). With the following
patch, we were able to get our virtual machine running on
Linux under this hardware via a serial port console.

--- setup.S Mon Aug 9 12:04:38 1999
+++ setup.S.patched Tue Oct 26 10:50:36 1999
@@ -553,6 +553,15 @@
out #0x60,al
call empty_8042
+! The AMD 386 Elan SC300 and SC310 microcontrollers which
+! are used in some embedded systems don't have
+! a keyboard controller; we have to do things different on
+! these chips. Jesse Off, NewMonics, Inc. <joff@newmonics.com>
+
+ mov al,#0x2 ! GATEA20 functionality is acheived
+ out #0x92, al ! via port 0x92, bit 1.
+
+
! wait until a20 really *is* enabled; it can take a fair amount of
! time on certain systems; Toshiba Tecras are known to have this
! problem. The memory location used here is the int 0x1f vector,
-
</from joff>

This applies to newer Intel systems also. I asked
internally if port 0x92 might have conflicts with
other chipsets and the answer I got was "no."

Also, from other email on this subject, is there
an implication here that the timeout (counter) in
"empty_8042" doesn't work (on systems that don't
have an 8042 controller)?

~Randy
___________________________________________________
|Randy Dunlap Intel Corp., DAL Sr. SW Engr.|
|randy.dunlap.at.intel.com 503-696-2055|
|NOTE: Any views presented here are mine alone |
|and may not represent the views of my employer. |
|_________________________________________________|

> -----Original Message-----
> From: Agust Karlsson [mailto:Gusti@pallas.dk]
> Sent: Friday, July 14, 2000 5:46 AM
> To: 'linux-kernel@vger.rutgers.edu'; 'linux-config@vger.rutgers.edu'
> Subject: A20 gate control question.
>
> Where does Linux set the System Control Port A (io port 0x92) or where
> should I put the code to use port 0x92 as a a20 gate handler.
>
> Best regards
>
> Agust Karlsson
> Pallas Informatik
> Allerød Denmark
>
> -

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

- Next message: Stephen C. Tweedie: "sard-0.6 released"
- Previous message: Matti Aarnio: "Re: Ext2fs file sizes"