Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 05 Nov 2002 00:26:46 -0800
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Julian Elischer <julian@elischer.org>
Cc:        Matt <mattl3@earthlink.net>, Richard Sharpe <rsharpe@ns.aus.com>, hackers@FreeBSD.ORG
Subject:   Re: max phy mem known working with FreeBSD 4.x
Message-ID:  <3DC780C6.A646C43D@mindspring.com>
References:  <Pine.BSF.4.21.0211042335580.60008-100000@InterJet.elischer.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Julian Elischer wrote:
> The hardware changes to do > 32 bit physical addresses
> include a redefinition of how page tables and page directories are layed
> out and to be able to use it we'd have to define
> and turn on code for that differnt mode. iIt has not yet been written.
> It wouldn't be hard to make a system that ONLY ran in that mode
> but one that can run on new systems withthat mode and also run on old
> 486 machines is much harder.

It's easier to do it with PSE-36 than PAE, actually.  The double
indirect is also easy to setup, and then not use, if it comes to
that, and 4K vs. 8K allocated in assembly is pretty much nothing.

The big issue is the 2M vs. 4M "jumbo pages": you have to expect
that, and FreeBSD, if PSE is present, will try to set up a 4M page
for the kernel.

What's really needed is a "remap4kto4m()" function that gets used
for that; there's a trick you have to pull with CR3, CR0, and CR4
to make it not break, though, because there's a CPU bug, and it
leaves you with a chicken-and-egg problem, otherwise.  This would
work for 2M pages, as well (just use two of them).

If you understand the code, you should be able to write it in
about two weeks (including the CPU bug workaround), once you
have your head around things.

-- Terry

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




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