Re: large memory support for x86

From: Alexander Viro (
Date: Fri Oct 13 2000 - 14:25:31 EST

On Fri, 13 Oct 2000, Timur Tabi wrote:

> ** Reply to message from Ingo Molnar <> on Fri, 13 Oct 2000
> 20:44:19 +0200 (CEST)
> > processes are not limited to a single segment, eg. Wine uses nonstandard
> > segments. But as i said, using multiple segments does not let you out of
> > 32 bits of virtual memory.
> Sure it does, just like segments let 16-bit apps access more than 64KB of
> memory. If you have two selectors, each one can point to a different physical
> base address, and IIRC, the size of the physical address base can be 36 bits.
> That gives you 16 physically contiguous 4GB memory blocks.

        RTFM. Take any manual on x86 architecture and stare at the
pictures. Ones that describe how segments work. Real mode: 16:16 ->
21 or 20. Real mode with undocumented twists: 16:16->21->32 (you _can_ get
paging with real mode style of segments). 286 protected mode: 16:16 -> 24.
Ditto with twists: 16:16->24->32. 386 protected mode: 16:32->32.
Ditto with paging: 16:32->32->32. Ditto with PAE: 16:32->32->36.
In _all_ cases you are limited by the size of linear address. I.e. all
address modes are limited to 4Gb. All you can get from PAE is placing of
these 4Gb in 64Gb of physical memory.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

This archive was generated by hypermail 2b29 : Sun Oct 15 2000 - 21:00:25 EST