Re: 4Gb ram not showing up

Tom Moore
2007-06-07T13:34:04Z

Satyam Sharma wrote:
> On 6/6/07, Lennart Sorensen <lsorense@csclub.uwaterloo.ca> wrote:
>> [...]
>> A better description would be:
>>
>> "Select this if you have a 32-bit processor and memory mapped in the 1GB
>> to 4GB address range."
>> [...]
>> That one would be better as:
>>
>> "Select this if you have a 32-bit processor and ram mapped in the
>> address
>> range above 4GB."
>
> Ugh, no! How can we expect the user compiling a kernel to be *so*
> familiar with address space re-mapping / BIOSen (_his_ particular
> BIOS, specifically, and what / how it re-maps memory) / etc to be
> able to answer such questions? "Select ... if you have ... RAM
> installed" is perfectly clear, simple, and all that's needed.
>
However the KConfig help message as it is currently written is wrong.
> BTW, just imagine what a user would need to do to make things
> work as per your proposal. Build some kernel (don't care about
> memory loss), boot and find what his firmware prefers to do with
> address space (or else read up the BIOS documentation!) and
> _then_ again build a new kernel, this time selecting the options
> appropriately ...
I tried to do this, but the Kconfig help message was misleading. I
still needed to come here for help.
>
> Also, note that the change you're proposing is unnecessary! As
> Andi pointed out, this issue has more to do with broken BIOSen
> and the proper fix for Tom is to contact his vendor and flash /
> upgrade the BIOS firmware. I don't see anything wrong with the
> Kconfig help texts.
Andi was wrong. It appears that he read the first sentence of my email
and jumped to a conclusion. The /proc/mtrr output that I included in my
first post showed the my bios was doing the right thing. My problem was
that I was using CONFIG_HIGHMEM4G, which is what the KConfig help
message told me to do. After switching to CONFIG_HIGHMEM64G the OS was
able to map all of my ram.

total used free shared buffers cached
Mem: 4016768 3924312 92456 0 360132 3030336
-/+ buffers/cache: 533844 3482924
Swap: 5116692 2676 5114016

Thanks to those with the correct advice. I'm sure I would have got this
by trying each memory model in turn, but at least now I know what is
going on.

Tom