Re: Memory on boot via int 0x15

From: H. Peter Anvin (hpa@zytor.com)
Date: Thu May 25 2000 - 22:05:24 EST


Followup to: <Pine.LNX.3.95.1000525220139.6760A-100000@chaos.analogic.com>
By author: "Richard B. Johnson" <root@chaos.analogic.com>
In newsgroup: linux.dev.kernel
>
> Does anybody really know what BIOS function 0xe801, interrupt
> 0x15 is supposed to return? I mean, by specification, not conjecture.
> None of my BIOS books show a spec for this function number.
>
> Relevant Linux boot code follows. It implies that register ax is
> supposed to contain so-called "base-memory", i.e., 640k (in kilobytes)
> and register bx is supposed to contain so-called "extended-memory", i.e.,
> memory above 1 megabyte (in 64 kilobyte chunks).
>

The interrupt list is your friend.

>
> This works on most systems, I am sure. However, I have two motherboards
> which contain a BIOS that confuses Linux, requiring a "MEM=" entry
> to boot. Otherwise I get a seg-fault in the kernel while memory is being
> organized.
>
> This is from the so-called "stable" kernels, ../boot/setup.S. This has
> been changed on later kernels to use GAS, but the logic is the same.
>

Can you do this under plain DOS (no CONFIG.SYS, no AUTOEXEC.BAT):

debug
a
mov ax,e801
int 15
int 3

g=100
q

... and let us know what the output is?

As for how the interrupt works, Ralf Brown's Interrupt List is the bible...

        -hpa

-- 
<hpa@transmeta.com> at work, <hpa@zytor.com> in private!
"Unix gives you enough rope to shoot yourself in the foot."

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



This archive was generated by hypermail 2b29 : Wed May 31 2000 - 21:00:15 EST