RAM detection error: 32-bit int issue?
Scott Saccone
ssaccone at link.wustl.edu
Fri Jan 21 15:54:45 UTC 2005
FC2/x86_64 (2.6.5-1.358smp) ran fine with 2GB RAM, but after installing
another 2GB it only detects 3GB. GRUB 0.94 also only detects 3GB. I
noticed in the source code that GRUB is using int to store certain
quantities related to RAM. There is also a bug report at
http://savannah.gnu.org/bugs/?func=detailitem&item_id=9954 related to
this. Could this my problem? If GRUB has a bug, would this affect linux?
Can I fix this by simply updating GRUB?
>From /var/log/dmesg:
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009b800 (usable)
BIOS-e820: 000000000009b800 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 00000000bff60000 (usable)
BIOS-e820: 00000000bff60000 - 00000000bff6f000 (ACPI data)
BIOS-e820: 00000000bff6f000 - 00000000bff80000 (ACPI NVS)
BIOS-e820: 00000000bff80000 - 00000000c0000000 (reserved)
BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
BIOS-e820: 00000000ff800000 - 00000000ffc00000 (reserved)
BIOS-e820: 00000000fffffc00 - 0000000100000000 (reserved)
BIOS-e820: 0000000100000000 - 0000000140000000 (usable)
...
Memory: 3096192k/3145088k available (1879k kernel code,
0k reserved, 1326k data, 176k init)
I processed the above:
start finish start-dec finish-dec dec-width MB
0 9b800 0 636928 636928 0.607 u
9b800 a0000 636928 655360 18432 0.018 r
e0000 100000 917504 1048576 131072 0.125 r
100000 bff60000 1048576 3220570112 3219521536 3070.375 u
bff60000 bff6f000 3220570112 3220631552 61440 0.059 r
bff6f000 bff80000 3220631552 3220701184 69632 0.066 r
bff80000 c0000000 3220701184 3221225472 524288 0.500 r
e0000000 f0000000 3758096384 4026531840 268435456 256.000 r
fec00000 fec10000 4273995776 4274061312 65536 0.062 r
fee00000 fee01000 4276092928 4276097024 4096 0.004 r
ff800000 ffc00000 4286578688 4290772992 4194304 4.000 r
fffffc00 100000000 4294966272 4294967296 1024 0.001 r
100000000 140000000 4294967296 5368709120 1073741824 1024.000 u
Usable=4293900288 (4094.982421875 MB)
Not usable=273505280 (260.8349609375 MB)
Total=4567405568 (4355.8173828125 MB)
The addresses in the last line exceed 2^32. Why is that? Do some of
these addresses refer to something besides my RAM?
SPECS:
CPU: 2 x 3.2GHz Xeon Nocona
MOBO: Tyan Thunder i7525 (S2676)
RAM: 4GB
2 x 1GB Corsair Reg DDR2
4 x 512MB Corsair Reg DDR2
BIOS: S2676 Rev 2.00 (9/28/04)
Linux: 2.6.5-1.358smp
Distro: FC2 x86_64
GRUB: GNU GRUB 0.94
gcc: 3.3.3 20040412 (Red Hat Linux 3.3.3-7)
More information about the devel
mailing list