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