[U-Boot] [PATCH] Fix wrong >4G filtering

Vladimir 'φ-coder/phcoder' Serbinenko phcoder at gmail.com
Sun Apr 7 17:33:54 CEST 2013


Filtering of >4G chunks is wrong and one of such chunks can be improperly declared
as usable ram top after being cut down to 4G, so uboot tries to relocate to ROM.

diff --git a/arch/x86/cpu/coreboot/sdram.c b/arch/x86/cpu/coreboot/sdram.c
index 786009c..3b8dd5e 100644
--- a/arch/x86/cpu/coreboot/sdram.c
+++ b/arch/x86/cpu/coreboot/sdram.c
@@ -77,8 +77,11 @@ ulong board_get_usable_ram_top(ulong total_size)
 			continue;
 
 		/* Filter memory over 4GB. */
+		if (start > 0xffffffffULL)
+			continue;
 		if (end > 0xffffffffULL)
-			end = 0x100000000ULL;
+			end = 0xffffffffULL;
+
 		/* Skip this region if it's too small. */
 		if (end - start < total_size)
 			continue;

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 294 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20130407/3ed956bc/attachment.pgp>


More information about the U-Boot mailing list