Unsolved
This post is more than 5 years old
5 Posts
0
2069
October 11th, 2018 23:00
GX280, reserving too much memory
I have a GX280 with 4x1GiB RAM. BIOS shows 4GiB installed. Memtest and 64-bit OS, more like 3GiB.
It took a lot of searching to find someone that not only understood the BIOS reserved the memory but also could show it in more detail. He wrote here in the community 11 years ago and asked for an updated bios (another model had received the fix). That smart guy never got the help he needed from Dell :-(
https://www.dell.com/community/Desktops-General-Read-Only/GX280-and-4GB-memory/td-p/2357493
Incidentially, it's also the help I need along with anyone who want to make good use of their gx280. Here are the adress ranges reserved by the BIOS.
e820: BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009ffff] usable [ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000bf686bff] usable [ 0.000000] BIOS-e820: [mem 0x00000000bf686c00-0x00000000bf688bff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x00000000bf688c00-0x00000000bf68abff] ACPI data [ 0.000000] BIOS-e820: [mem 0x00000000bf68ac00-0x00000000bfffffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fed003ff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fed20000-0x00000000fed9ffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000feefffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000ffb00000-0x00000000ffffffff] reserved
It seems to me there should be one "usable" area squeezed in, but isn't: the c0000000-dfffffff range is about half a gigabyte and looks suspiciously absent!
So in effect bf68ac00-ffffffff is reserved. In decimal, it's this much: 1083659263, i.e. the missing gigabyte.
Will Dell release a fixed BIOS for this model?
Edit:
I managed to get the kernel to use the afformentioned range by adding this parameter to the kernel options:
memmap=0x1fffffff@0xc0000000
so I get:
user: [mem 0x00000000c0000000-0x00000000dffffffe] usable
However, to my puzzlement I have no more memory available for the system than before and I suscpect it has something to do with this:
MTRR fixed ranges enabled: [ 0.000000] 00000-9FFFF write-back [ 0.000000] A0000-BFFFF uncachable [ 0.000000] C0000-FFFFF write-protect [ 0.000000] MTRR variable ranges enabled: [ 0.000000] 0 base 000000000 mask F80000000 write-back [ 0.000000] 1 base 080000000 mask FC0000000 write-back [ 0.000000] 2 base 0BF800000 mask FFF800000 uncachable [ 0.000000] 3 base 0BF700000 mask FFFF00000 uncachable [ 0.000000] 4 disabled [ 0.000000] 5 disabled [ 0.000000] 6 disabled [ 0.000000] 7 disabled
I also looked at:
cat /proc/mtrr reg00: base=0x000000000 ( 0MB), size= 2048MB, count=1: write-back reg01: base=0x080000000 ( 2048MB), size= 1024MB, count=1: write-back reg02: base=0x0bf700000 ( 3063MB), size= 1MB, count=1: uncachable reg03: base=0x0bf800000 ( 3064MB), size= 8MB, count=1: uncachable
Could it be that the MTRR table from the BIOS is broken somehow? It seems it only details memory up to 3064MB.
Edit 2:
I was trying out the "enable_mtrr_cleanup" boot parameter to see if it could help me. But alas no. However, I now see this in the boot log:
0.000000] WARNING: BIOS bug: CPU MTRRs don't cover all of memory, losing 511MB of RAM.
So, the computer is not capable of using the the memory I made available because of a BIOS bug! (Or could this be a CPU limitiation for which there is no workaround? hmm)
Edit 3:
However I tried I couldn't get it to work. Even though the CPU supports PAT it seems PAT still somehow needs MTRR enabled registers.
It seems to me the the Optiplex GX280 has a manufacturing flaw not allowing the user to make use of (almost?) any part of the last installed 1 GiB memory. The question is: can it be solved by a memory update and if so, will Dell fix it for us?
0 events found

