Comment 18 for bug 114258

Revision history for this message
Andy Whitcroft (apw) wrote : Re: [Bug 114258] Re: Trouble viewing beyond 3GB of available 4GB memory using 64bit kernel

On Wed, Dec 17, 2008 at 10:16:49AM -0000, diefans wrote:
> here is my dmesg output.
>
> ** Attachment added: "dmesg.txt"
> http://launchpadlibrarian.net/20493232/dmesg.txt

[ 0.000000] BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
[ 0.000000] BIOS-e820: 000000000009f000 - 00000000000a0000 (reserved)
[ 0.000000] BIOS-e820: 00000000000dc000 - 0000000000100000 (reserved)
[ 0.000000] BIOS-e820: 0000000000100000 - 00000000bfed0000 (usable)
[ 0.000000] BIOS-e820: 00000000bfed0000 - 00000000bfedf000 (ACPI data)
[ 0.000000] BIOS-e820: 00000000bfedf000 - 00000000bff00000 (ACPI NVS)
[ 0.000000] BIOS-e820: 00000000bff00000 - 00000000c0000000 (reserved)
[ 0.000000] BIOS-e820: 00000000f0000000 - 00000000f4000000 (reserved)
[ 0.000000] BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
[ 0.000000] BIOS-e820: 00000000fed00000 - 00000000fed00400 (reserved)
[ 0.000000] BIOS-e820: 00000000fed14000 - 00000000fed1a000 (reserved)
[ 0.000000] BIOS-e820: 00000000fed1c000 - 00000000fed90000 (reserved)
[ 0.000000] BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
[ 0.000000] BIOS-e820: 00000000ff800000 - 0000000100000000 (reserved)

This e820 output implies there is not 4GB of ram in this system.
Only the usable sections are literally usable for storage by the kernel.
That is these two, which is memory from 0 to close to 3GB give or take a
few blocks. So the kernel is doing the right thing given the information
it appears to be being given by the BIOS.

[ 0.000000] BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
[ 0.000000] BIOS-e820: 0000000000100000 - 00000000bfed0000 (usable)

Compare that to mine, where there is RAM from 4GB to 5GB physical and
all of the reserved areas are actually pulled down below 3GB.

    ] BIOS-e820: 0000000000000000 - 000000000009c400 (usable)
    ] BIOS-e820: 0000000000100000 - 00000000bd4a1000 (usable)
    ] BIOS-e820: 00000000bd4a7000 - 00000000bd5ba000 (usable)
    ] BIOS-e820: 00000000bd60f000 - 00000000bd708000 (usable)
    ] BIOS-e820: 00000000bd90f000 - 00000000bd918000 (usable)
    ] BIOS-e820: 00000000bd91f000 - 00000000bd963000 (usable)
    ] BIOS-e820: 00000000bd99f000 - 00000000bd9e4000 (usable)
    ] BIOS-e820: 00000000bd9ff000 - 00000000bda00000 (usable)
    ] BIOS-e820: 0000000100000000 - 0000000140000000 (usable)

Things to look at would include whether you have a BIOS option to shift
the RAM layout to keep the 3GB-4GB range free. Typically IO space and
the AGP aperture get dropped in there, which can wack a huge chunk of
ram. Not that I see that being mentioned in your dmesg.