Re: > 1GB RAM on x86 ?

H. Peter Anvin (hpa@transmeta.com)
3 Jul 1997 08:40:03 GMT


Followup to: <6ywwn8v9qp.fsf@sodium.transmeta.com>
By author: Daniel Quinlan <quinlan@transmeta.com>
In newsgroup: linux.dev.kernel
>
> > We're testing some x86 systems with more than 1GB of RAM. Linux on
> > x86 seems to be limited to 1GB of physical memory. This suprised me
> > a bit since I thought 386 PTE's had 20 bits for physical page
> > addresses (4GB physical). Is there a 1GB physical limit, what's the
> > reason for the limit, and what would need to change to increase this
> > to 4GB? (i.e. Where did those other 2 bits go?)
>
> Linus told me the (effective?) limit is actually lower than 1GB for
> possibly different reasons than the ones you mention (allocation of
> kernel-space memory vs. user-space memory?), maybe 768 MB.
>
> Basically, he said that some settings need to be changed, but it
> sounded like a minor change.
>

Well, the problem is basically that all of memory is direct-mapped in
the kernel address space slot, which is 1 GB in size. This includes
I/O boards, as well. If you outgrow that slot, then you have to
change your page tables before you can touch arbitrary memory from
kernel space, which is a major lose. It can probably be dealt with,
but it is not a trivial obstacle, unfortunately. One can't even get
around it by using segment registers, since those still point into the
32-bit linear address space.

P6 machines actually have a 36-bit physical address space, but still
only 32-bit linear...

-hpa

-- 
    PGP: 2047/2A960705 BA 03 D3 2C 14 A8 A8 BD  1E DF FE 69 EE 35 BD 74
    See http://www.zytor.com/~hpa/ for web page and full PGP public key
Always looking for a few good BOsFH.  **  Linux - the OS of global cooperation
        I am Baha'i -- ask me about it or see http://www.bahai.org/