Re: 4Gb ram not showing up

Lennart Sorensen
2007-06-05T18:57:29Z

On Mon, Jun 04, 2007 at 03:43:08PM -0400, Tom Moore wrote:
> Thank you for the reply back. Your answer makes perfect sense to me,
> and it is what I had suspected but was not sure about. The math seems
> to indicate that 4Gb of ram plus 1Gb of PCI address space equals 5Gb of
> memory space. So it does sound like I should have a larger kernel model.
>
> What confused me the most (and still does), is the help message string
> that is presented for the CONFIG_HIGHMEM4G option:
> "Select this if you have a 32-bit processor and between 1 and 4
> gigabytes of physical RAM."

A better description would be:

"Select this if you have a 32-bit processor and memory mapped in the 1GB
to 4GB address range."

> Well that sounds like the amount of memory that I have, so that is what
> I selected.
>
> Also, although I know what PAE stands for, I don't know how to select it
> when building a kernel. Would I get this from the CONFIG_HIGHMEM64G
> option? The help text for that says:
> "Select this if you have a 32-bit processor and more than 4 gigabytes
> of physical RAM."

That one would be better as:

"Select this if you have a 32-bit processor and ram mapped in the address
range above 4GB."

> This does not sound like it applies to my hardware. There is something
> wrong with my understanding, or with these message strings. I am still
> confused.

In the past a number of machines couldn't remap memory, so you simply
lost any that was covered by the PCI address space. In that case 4GB
ram mean you got 3GB or 3.5GB ram, and turning on HIGHMEM64G wouldn't
help.

In your case with some ram mapped above 4GB, you want the option that
supports up to 64GB ram (the limit of PAE) which is the
CONFIG_HIGHMEM64G. After all since some ram is mapped between 4 and
5GB, it is as if you had 5GB ram, but the part between 3 and 4GB was
covered up. You are just lucky enough that the covered up part got
moved out of the way instead so you get to use it.

--
Len Sorensen