[U-Boot] [PATCH 11/15] x86: Ignore memory >4GB when parsing Coreboot tables

Simon Glass sjg at chromium.org
Wed Oct 24 06:04:42 CEST 2012


From: Duncan Laurie <dlaurie at chromium.org>

U-boot is unable to actually use that memory and it can
cause problems with relocation if it tries to.

Signed-off-by: Duncan Laurie <dlaurie at chromium.org>
Signed-off-by: Simon Glass <sjg at chromium.org>
---
 arch/x86/cpu/coreboot/sdram.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/arch/x86/cpu/coreboot/sdram.c b/arch/x86/cpu/coreboot/sdram.c
index 93dccb8..5d3da99 100644
--- a/arch/x86/cpu/coreboot/sdram.c
+++ b/arch/x86/cpu/coreboot/sdram.c
@@ -60,6 +60,10 @@ int dram_init_f(void)
 		struct memrange *memrange = &lib_sysinfo.memrange[i];
 		unsigned long long end = memrange->base + memrange->size;
 
+		/* Ignore memory over 4GB, we can't use it. */
+		if (memrange->base > 0xffffffff)
+			continue;
+
 		if (memrange->type == CB_MEM_RAM && end > ram_size)
 			ram_size = end;
 	}
-- 
1.7.7.3



More information about the U-Boot mailing list