haswell: add CBMEM_MEMINFO table when initing RAM

Populate a memory_info struct with PEI and SPD data,
in order to inject the CBMEM_INFO table necessary to
populate a type17 SMBIOS table.

On Broadwell, this is done by the MRC binary, but the older
Haswell MRC binary doesn't populate the pei_data struct with
all the info needed, so we have to pull it from the SPD.

Some values are hardcoded based on platform specifications.

Change-Id: Iea837d23f2c9c1c943e0db28cf81b265f054e9d1
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/19958
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
This commit is contained in:
Matt DeVillier
2016-09-02 13:29:17 -05:00
committed by Martin Roth
parent f739e7f56a
commit 5aaa8ce21c
4 changed files with 71 additions and 0 deletions

View File

@@ -245,6 +245,8 @@ void romstage_common(const struct romstage_params *params)
#endif
}
setup_sdram_meminfo(params->pei_data);
romstage_handoff_init(wake_from_s3);
post_code(0x3f);