Re: Intel 875 Motherboard cant use 4GB of Memory.

From: Brian Gerst
Date: Wed Jun 02 2004 - 20:12:11 EST


Richard B. Johnson wrote:
On Tue, 1 Jun 2004 reg@xxxxxxx wrote:


That could be PCI devices. Some (particularly high-end video cards)
take up a lot of address space, which comes straight out of the available
4 GB physical address space.

Check /proc/iomem.


OK, that leaves me more confused, and (to me) it still looks like a
BIOS problem rather than a greedy device. Here is the /proc/iomem
with some decimal annotations: (as noted, there is 4x1GB of memory installed)




Not just Intel motherboards. There is 32 bits of address-space.
This needs to be shared between RAM and the I/O addresses of
PCI/Bus and AGP boards. Unfortunately, the PCI/AGP specification
wastes a lot of address space because something that needs 1 megabyte
of address-space must sit on a 1 megabyte boundary. If this
comes after something that used 128 bytes, there is nearly a megabyte
wasted to get to the next boundary. A megabyte here a megabyte there..
pretty soon you are talking about a lot of wasted address-space.

Solution: A 64 bit machine will have the same problem, you end up
wasting RAM address space if it overlays PCI/Bus space. But, you
probably would never opt for a gazzzilion bytes of RAM anyway?

One gazzzilion = 1844 6744 0737 0955 1615 (2 ^ 64)

Just don't put 4 gigs of RAM in a 4 gig address-space and expect
to use it all. Sell the spare 2 gigs or build another PC with it!


Wrong. Ever since the Pentium Pro, x86 processors have had 36-bit *physical* addressing. This is why PAE-mode paging was introduced. A sane BIOS would configure the memory controller to remap some of the memory above 4G physical to allow for memory mapped devices. It sounds like this board's BIOS isn't doing that, or at least not reporting it in the e820 map.

--
Brian Gerst
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/