Cristian Măgherușan-Stanciu (cristi.magherusan@gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/48
-gerrit
commit ad3e9864d761f3b4ab95447d3fbc313cec19306d Author: Cristian Măgherușan-Stanciu cristi.magherusan@gmail.com Date: Fri Jul 8 22:41:12 2011 +0000
Fix memory size reporting on AMD family 14h systems for >= 4GB
Applying Scott Duplichan's fix for memory >=4GB
Adjusted it to the new directory structure (agesa_wrapper was renamed to just agesa).
Boot-tested and confirmed to work, on my board Linux can now access the whole RAM.
Change-Id: I31d66a488a7811d214d84653860b3e0116f67d19 Signed-off-by: Scott Duplichan scott@notabs.org Acked-by: Marshall Buschman mbuschman@lucidmachines.com Signed-off-by: Cristian Măgherușan-Stanciu cristi.magherusan@gmail.com --- src/northbridge/amd/agesa/family14/northbridge.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/northbridge/amd/agesa/family14/northbridge.c b/src/northbridge/amd/agesa/family14/northbridge.c index 78ba2da..e38500d 100644 --- a/src/northbridge/amd/agesa/family14/northbridge.c +++ b/src/northbridge/amd/agesa/family14/northbridge.c @@ -652,8 +652,8 @@ printk(BIOS_DEBUG, "adsr - CONFIG_PCI_64BIT_PREF_MEM is true.\n"); d = get_dram_base_mask(0);
if (d.mask & 1) { - basek = ((resource_t)(d.base)) << 8; - limitk = (resource_t)((d.mask << 8) | 0xFFFFFF); + basek = ((resource_t)((u64)d.base)) << 8; + limitk = (resource_t)(((u64)d.mask << 8) | 0xFFFFFF); printk(BIOS_DEBUG, "adsr: (before) basek = %llx, limitk = %llx.\n",basek,limitk);
/* Convert these values to multiples of 1K for ease of math. */