Re: Memory being incorrected sized at boot-up

david parsons (o.r.c@p.e.l.l.p.o.r.t.l.a.n.d.o.r.u.s)
11 Jul 1997 16:55:42 -0700


In article <linux.kernel.19970711222654.18698@atrey.karlin.mff.cuni.cz>,
Martin Mares <mj@atrey.karlin.mff.cuni.cz> wrote:
>Hi,
>
>> Please talk to me about this offline. I'm the author of the 2.0.30
>> memory detection code. I think what's happening is the that Compaq
>> BIOS reports only 16MB of RAM for the int 15h, ah=0x88 BIOS call on
>> the Compaq. The fix for this is to change the BIOS detection code to
>> use the 0xe801 call first, and then fallback if this fails.
>
> Are you sure 0xe801 won't crash on bioses that don't implement
>it? I.e., mostly on ancient 386's ? ... but probably the best thing
>will be to test it in the 2.1 kernels before putting it to the
>mainstream ones.

I'm the author of the 2.1.x patch (and a patch for 2.0.x (x=27,28,29))
and I did some testing with older motherboards. I've got a small farm
of ancient and obsolete 386sx motherboards, and every one of them did
the right thing with the 0e801h bios call.

The only machines I've found that don't do the right thing are one or
two old ISA/EISA/PCI compaq machines, which persist in reporting back
16mb of memory with both 0e801h and 088h, and I had one (not verified,
alas) report about a Nixdorf machine falling over on the memory detect.

My patch for 2.0.x can be found at www.pell.chi.il.us/~orc/newmem.2027.
I don't know if it works on earlier versions of 2.0.x, and of course
Larry Augustine has a patch in for 2.0.31-n (for large values of n),
but it does work on 2.0.27 through 2.0.29, with the caviat that old
versions of loadlin don't work with it.

____
david parsons \bi/ Tested the patch on 30 machines before submitting it
\/ to Linux, and am now including the patch in commercial
Linux products for McAfee associates.