Re: i386 boot & mm gurus' advice needed (int 0x15/0xE820 support)

Cyrille Chepelov (chepelov@rip.ens-cachan.fr)
Tue, 17 Nov 1998 22:05:48 +0100 (MET)


On 16 Nov 1998, H. Peter Anvin wrote:

> Basically. The memory from 0x600 to 0xfff should be safe to use; the
> kernel doesn't trash the zero-page because emulators need the
> BIOS-info, but the BIOS-info ends at 0x5ff. Other than that, most of
> the communication between setup and the kernel is done by overwriting
> the boot sector at 0x90000, there may be enough space there after the
> command line buffer.

I'll try something along these lines (probably tomorrow, perhaps later
this evening).

> Note that there are no less than four (4) BIOS interfaces to query
> memory: INT 15h, AH=88h (this is the infamous 64MB limit, but is all
> that is available on some old machines); INT 15h AX=E801h (currently
> used on newer kernels), INT 15h AX=E802h (not widely used), and INT
> 15h AX=E820h (the latest whiz-bang call.) Since the latter is a
> proper superset of the others, the right thing to do is probably to
> make setup.S try the different BIOS queries, but pass the data to the
> kernel in a single format (compatible with INT 15h AX=E820h).

saw that. E802 looks to be deprecated. My patch as I sample-released it
uses E820 if available, and falls back on the previous behaviour (E801 if
possible, 88 instead) if E820 returns an error or CONFIG_NO_QSAM.
Except with the fact that my choice of 16/32bit communication buffer
wasn't that wise, I haven't got a report that this patch broke anything
(better, it should improve the situation for people, willing or not, who
have memory holes ; finally, it is a good prerequisite for working on ACPI
whithout cheating with bootparam "mem=<whatever-1>M".
I'm not sure however whether this would warrant an inclusion in 2.2 ; I've
been always targeting self-education and perhaps 2.3 -- not my call
anyways.)

-- Cyrille

------------------------------------------------------------------
camembert * reblochon * brie * roquefort * munster * corsu uru * port-salut

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