Re: Memory on boot via int 0x15

From: Andreas Dilger (adilger@turbolabs.com)
Date: Thu May 25 2000 - 23:02:46 EST


Richard B. Johnson writes:
> 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).
>
> 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.

I would suggest looking at the new memory detection patches from David Parson
and <insert name of guy from AMD>. They use the 0xe820? function (which
is what Windows uses) for extended memory detection, and only fall back to
0xe801 if 0xe820 is not supported. Apparently, the 0xe801 support has bugs
in some BIOSes (as you have found out).

Check a l-k archive for the patches, they have been posted several times in
the last few months.

Cheers, Andreas

-- 
Andreas Dilger  \ "If a man ate a pound of pasta and a pound of antipasto,
                 \  would they cancel out, leaving him still hungry?"
http://www-mddsp.enel.ucalgary.ca/People/adilger/               -- Dogbert

- 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