Re: for a help

Gabor Lenart (lgb@oxygene.terra.vein.hu)
Sun, 5 Sep 1999 14:40:55 +0200


Hi !

> 6: mov ax,#0xe801 int 0x15: what is it doing?

To find out the function of DOS and BIOS interrupt I suggest you to
check this out at : http://www.delorie.com/djgpp/doc/rbinter/ix/
(I hope the URL is correct)
According that documentation its function is to find out memory size
over 64M at phoenix BIOSes.

> 7: realmode_swtch is not a procedure,oh? but why some place call it?(in setup.s)
> 8: what is the use of a20?

A20 is the 20th (counted from zero) line of address bus. At the age of AT
286s the basic OS for a PC was DOS. DOS runs in real mode so its addressing
space is 1M wide (this is true for XT as well). But AT can addresses 16M of
RAM in protected mode, and it also address a bit more than 1M in real mode,
because a segment started at FFFF0 (FFFF is in segment register) is 64K
long, so you can address almost 64K+1M memory on AT in real mode. This almost
64K area is called HMA, and DOS can use it to upload its code there.
However there is some incompatiblity with XTs since on XT addressing this
64K casues to truncated into the start of the memory (address is truncated
for the 20 bit space, since 8088/8086 does not contain more bits in his
addressing than 20). So A20 gate was introduced. With switching A20 line
off XT compatiblity in addressing is given, with turned off state, you can
address HMA as well. For a modern protected mode OS (like Linux) there
is not too much about HMA and real mode, however we must enable A20, since
we uses the full addresssing space directly and A20 line must be work as
other lines of address bus as well. This must be done before activate protected
mode AFAIK.

I hope I can help a bit.

by(T)e : Gabor Lenart

-- 
 ---[ LGB/DC ]------------[ University Of Veszprém ]------[ Lénárt Gábor ]---
            The end is coming.   >DO< panic.  For a while, at least.
 ---[ 30/2270823 ]--------[ http://lgb.hal.vein.hu ]---------[ 87/477074 ]---
 finger lgb@hal2000.hal.vein.hu for more   -==-   SMS : lgblgb@westel900.net

- 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/