Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 5 Nov 1997 18:58:49 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        tony@dell.com (Tony Overfield)
Cc:        tlambert@primenet.com, jamil@trojanhorse.ml.org, hackers@FreeBSD.ORG
Subject:   Re: >64MB
Message-ID:  <199711051858.LAA14121@usr02.primenet.com>
In-Reply-To: <3.0.3.32.19971105020626.006da974@bugs.us.dell.com> from "Tony Overfield" at Nov 5, 97 02:06:26 am

next in thread | previous in thread | raw e-mail | index | archive | help
> The bootloader already makes the "64 MB limited" BIOS call and sends 
> this value to the kernel, but for some strange reason, the kernel 
> tosses that value away in favor of the sometimes bogus CMOS value.  
> Using this BIOS call's result instead of tossing it would resolve 
> my complaint about the CMOS groping.

The problem with this approach is "keyhole memory allocations" for
soft IDE drive tables and APM BIOS data that can't be overwritten.
This is a common practice among some PC manufacturers (who will
remain nameless).

At least the "base memory" in the CMOS must be examined to determine
memory which can not be given over to the kernel for it to scribble on.


> >The problem is that the BIOS call made in the boot code should not
> >be in the boot code at all, 
> 
> I think you don't understand.  It must be there.  You cannot load 
> the kernel into memory without knowing whether you have any memory.  

The kernel loads at 1M, regardless of whether there is memory there
or not.  There is no graceful failure mode possible for a failure to
load yourself.

Given this, a kernel with VM86() capabilities loaded into however
much memory it takes, starting at 1M, can make VM86() calls to
determine how much memory is there.  You yourself note that the CMOS
examination for memory sizing is bogusly used at present ...and that
it occurs *after* the kernel is loaded.


> At *least* the "64 MB limited" BIOS call must be in the bootloader. 

At present, and only because the call historically can't be made by
the kernel in protected mode.  That's close to being fixed.



					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199711051858.LAA14121>