Page 2 of 2

Re:loading the kernel to 1MB

Posted: Mon Feb 03, 2003 6:02 am
by Pype.Clicker
Perica Senjak wrote: Yes i know, 0x100000 = 24 Bits.

I Did a typo. What i meant to say is: it is not inacessible when the A20-Gate is Enabled.
I suppose this is another typo !? A20-gate is enabled when memory > 1MB can be accessed. The default 8086 "wrapping" behaviour is known as A20-gate disabled.

Re:loading the kernel to 1MB

Posted: Mon Feb 03, 2003 7:33 am
by Perica
..

Re:loading the kernel to 1MB

Posted: Mon Feb 03, 2003 11:14 pm
by DynatOS
My best guess on a hardware level is that A20 is the 21st line (A0-A19 = first 20) and by disable they don't mean just to zero-out... if A20 is disabled all the bits over it are ignored.

Re:loading the kernel to 1MB

Posted: Wed Feb 05, 2003 1:43 pm
by Tim
To gate a signal means to enable or disable it; the A20 gate lets you enable or disable the A20 line. Enabling the A20 line means that the 21st memory line acts like any other; disabling it means to hold it low (i.e. keep it equal to zero). All other bits above A20 are unaffected by the A20 gate.

The upshot of this is that if A20 is disabled you can only access odd-numbered megabytes of memory (the first, third, fifth, etc.).

Re:loading the kernel to 1MB

Posted: Thu Feb 06, 2003 12:33 pm
by DynatOS
The Pentium class is where they should have introduced newer architectual standards and just emulate the old ones. Then again... you can't make money when you are not forcing people to constantly upgrade from one sub-standard to another :)