
7 Apr
2013
7 Apr
'13
5:33 p.m.
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;