Date: Wed, 30 Mar 2005 16:01:14 -0700 From: Scott Long <scottl@samsco.org> To: "Greg 'groggy' Lehey" <grog@freebsd.org> Cc: FreeBSD-amd64@freebsd.org Subject: Re: Problems with AMD64 and 8 GB RAM? Message-ID: <424B2FBA.1020102@samsco.org> In-Reply-To: <20050330224445.GW84137@wantadilla.lemis.com> References: <20050330222439.GU84137@wantadilla.lemis.com> <20050330223546.GA4705@troutmask.apl.washington.edu> <20050330224445.GW84137@wantadilla.lemis.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Greg 'groggy' Lehey wrote: > On Wednesday, 30 March 2005 at 14:35:46 -0800, Steve Kargl wrote: > >>On Thu, Mar 31, 2005 at 07:54:39AM +0930, Greg 'groggy' Lehey wrote: >> >>>None of these problems occur when I use 4 GB memory. About the only >>>strangeness, which seems to come from the BIOS, is that it recognizes >>>only 3.5 GB. If I put all DIMMS in, it recognizes the full 8 GB >>>memory. >>> >>>I realize that this isn't enough to diagnose the problem. The reason >>>for this message now is to ask: >>> >>>1. Has anybody else seen this problem? >>>2. Has anybody else used this hardware configuration and *not* seen >>> this problem? >>>3. Where should I look next? >> >>Have you run sysutils/memtest86 with the 8 GB? > > > Heh. Difficult when the system doesn't run. > > >>I had 4 bad out of 12 tested where the DIMMs were Crucial PC2700 2GB >>Reg. ECC DIMMs. > > > OK, this makes sense. It might also explain why the 4 GB > configuration only recognizes 3.5 GB. > No, and I'm going to make this an FAQ and post it in a very obvious place, since 4+ GB is so easy to get and people don't seem to understand the PC architecture very well. Almost all systems put the PCI Memory Mapped IO window into the 3.75-4GB region of the physical memory map. The registers for the APICs and other system resources are also typically in this region. Now with PCI-Express, the Memory Mapped PCI config registers are typically being mapped in the 3.5-3.75GB range. The memory controllers, host bridges, north-bridges, and/or whatever else glues the memory to the bus to the CPU decode these addresses into PCI cycles, not RAM cycles. Some systems are smart and re-map the RAM that is hidden by these holes into a region >4GB. Some systems are dumb, though, and just deny you access to the RAM that is covered up. It's very much like the old days of the XT/AT architecture when you had 1MB of RAM but everything above 640k was hidden by the VGA framebuffer, ISA option ROMs, and system BIOS, but some systems where smart enough to relocate the hidden RAM. So, your missing .5GB is almost certainly not due to defective RAM, it's just due to The Way Things Are. It's a lot harder for Opteron systems to be smart about this than Xeon systems since all of the remapping magic can happen in the hostbridge on the Xeon, while the Opertons need to have their built-in memory controllers programmed specially for it. Scott
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?424B2FBA.1020102>