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

login
register
mail settings
Submitter Simon Glass
Date Oct. 24, 2012, 4:04 a.m.
Message ID <1351051486-6980-12-git-send-email-sjg@chromium.org>
Download mbox | patch
Permalink /patch/193657/
State Accepted, archived
Delegated to: Simon Glass
Headers show

Comments

Simon Glass - Oct. 24, 2012, 4:04 a.m.
From: Duncan Laurie <dlaurie@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@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
---
 arch/x86/cpu/coreboot/sdram.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

Patch

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;
 	}