soc/intel: skl,cnl,icl: rely on TOLUM as cbmem_top returned by FSP

Instead of doing our own calculations, rely on TOLUM returned by FSP
for cbmem_top. This (hopefully) saves us from making mistakes in weird
calculations of offsets and alignments.

Further this makes it easier to implement e.g. SGX PRMRR size selection
via Kconfig as we do not have to make any assumptions about alignments
but can simply pass (valid) values to FSP.

Tested successfully on X11SSM-F

Change-Id: If66a00d1320917bc68afb32c19db0e24c6732812
Signed-off-by: Michael Niewöhner <foss@mniewoehner.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/36136
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Michael Niewöhner
2019-10-19 11:57:05 +02:00
committed by Nico Huber
parent 1644e48985
commit 68da45479f
10 changed files with 33 additions and 547 deletions

View File

@@ -300,3 +300,9 @@ const void *fsp_find_nv_storage_data(size_t *size)
{
return fsp_find_extension_hob_by_guid(fsp_nv_storage_guid, size);
}
void fsp_find_bootloader_tolum(struct range_entry *re)
{
if (fsp_find_range_hob(re, fsp_bootloader_tolum_guid))
die("9.3: FSP_BOOTLOADER_TOLUM_HOB missing!\n");
}

View File

@@ -16,12 +16,6 @@
#include <console/console.h>
#include <fsp/util.h>
void fsp_find_bootloader_tolum(struct range_entry *re)
{
if (fsp_find_range_hob(re, fsp_bootloader_tolum_guid))
die("9.3: FSP_BOOTLOADER_TOLUM_HOB missing!\n");
}
void fsp_verify_memory_init_hobs(void)
{
struct range_entry fsp_mem;