Subject: Re: Dmseg does not show more than 3GB on dual core
To: Derrick Lobo <derrick@givex.com>
From: David Laight <david@l8s.co.uk>
List: port-i386
Date: 03/09/2007 22:11:31
On Fri, Mar 09, 2007 at 04:52:35PM -0500, Derrick Lobo wrote:
> I have been scratching my head on this one for a week....
> 
> 
> I have a supermicro 5014c-m8b, it has an intel P dual core 531J  3Ghz
> processor with 4GB ram, the bios shows 4GB however dmesg show 3GB, I
> installed Red Hat and had the same issue. If I take off 1GB from the
> server the bios and dmesg match....
> 
> As per specs from Supermicro the server can take up to 8GB ram. I called
> supermicro and they claim that the chipset does not support memory
> remaping, and that other resources are utilized by subsystems such as
> I/O and PCI Express.

The 'problem' is that part of the 32bit physical address space is used
for memory-mapped IO (eg it lets you access your PCI cards).
So you can't map memory to the entire 4GB of address space.
Typically the top 512MB or 1GM is reserved for mapping IO devices,
leaving you with 3.5GB or 3GB of memory.
Some motherboards/chipsets will map the unallocated memory above the 4GB
boundary.  However that is only accessible if the kernel supports PAE
(which netbsd doesn't), or you have a 64bit cpu.
In any case it appears your motherboard doesn't do that.
	
	David

-- 
David Laight: david@l8s.co.uk