amd64 kernel / bigmem only sees 3.2GB of RAM

This is a BIOS related problem … if you’re seeing this kind of message :

idur@host:/$ dmesg | head -30
[ 0.000000] Initializing cgroup subsys cpuset
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 2.6.26-2-amd64 (Debian 2.6.26-21lenny4) (dannf@debian.org) (gcc version 4.1.3 20080704 (prerelease) (Debian 4.1.2-25)) #1 SMP Tue Mar 9 22:29:32 UTC 2010
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: 0000000000000000 – 000000000009e800 (usable)
[ 0.000000] BIOS-e820: 000000000009e800 – 00000000000a0000 (reserved)
[ 0.000000] BIOS-e820: 00000000000e0000 – 0000000000100000 (reserved)
[ 0.000000] BIOS-e820: 0000000000100000 – 00000000cf6a0000 (usable)
[ 0.000000] BIOS-e820: 00000000cf6a0000 – 00000000cf6ae000 (ACPI data)
[ 0.000000] BIOS-e820: 00000000cf6ae000 – 00000000cf6f0000 (ACPI NVS)
[ 0.000000] BIOS-e820: 00000000cf6f0000 – 00000000cf6fe000 (reserved)
[ 0.000000] BIOS-e820: 00000000fee00000 – 00000000fee01000 (reserved)
[ 0.000000] BIOS-e820: 00000000fff80000 – 0000000100000000 (reserved)
[ 0.000000] BIOS-e820: 0000000100000000 – 0000000130000000 (usable)
[ 0.000000] Entering add_active_range(0, 0, 158) 0 entries of 3200 used
[ 0.000000] Entering add_active_range(0, 256, 849568) 1 entries of 3200 used
[ 0.000000] Entering add_active_range(0, 1048576, 1245184) 2 entries of 3200 used
[ 0.000000] max_pfn_mapped = 1245184
[ 0.000000] WARNING: BIOS bug: CPU MTRRs don’t cover all of memory, losing 1536MB of RAM.
[ 0.000000] ————[ cut here ]————
[ 0.000000] WARNING: at arch/x86/kernel/cpu/mtrr/main.c:706 mtrr_trim_uncached_memory+0x138/0x198()
[ 0.000000] Modules linked in:
[ 0.000000] Pid: 0, comm: swapper Not tainted 2.6.26-2-amd64 #1

in order to solve this we need to do is enable the option open memory hole.
Sometimes a lower end boards BIOS cannot remap the memory hole, this has to be solved using a newer BIOS that support the remapping or you can edit the BIOS yourself.

Leave a Reply

Your email address will not be published. Required fields are marked *