
The logic to calculate the number of E820 table entries is wrong when walking through the FSP HOB tables. Fix it.
Signed-off-by: Bin Meng bmeng.cn@gmail.com Tested-by: Jian Luo jian.luo4@boschrexroth.de
--- Simon, I think we need get this fix in v2015.10 release.
Changes in v2: None
arch/x86/lib/fsp/fsp_dram.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/x86/lib/fsp/fsp_dram.c b/arch/x86/lib/fsp/fsp_dram.c index 28552fa..e51ca96 100644 --- a/arch/x86/lib/fsp/fsp_dram.c +++ b/arch/x86/lib/fsp/fsp_dram.c @@ -72,9 +72,10 @@ unsigned install_e820_map(unsigned max_entries, struct e820entry *entries) entries[num_entries].type = E820_RAM; else if (res_desc->type == RES_MEM_RESERVED) entries[num_entries].type = E820_RESERVED; + + num_entries++; } hdr = get_next_hob(hdr); - num_entries++; }
/* Mark PCIe ECAM address range as reserved */