[coreboot-gerrit] New patch to review for coreboot: drivers/intel/fsp2_0: Do not relocate FIT data to FSP stack
Andrey Petrov (andrey.petrov@intel.com)
gerrit at coreboot.org
Sun Jan 24 03:34:11 CET 2016
Andrey Petrov (andrey.petrov at intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13400
-gerrit
commit db94b694cbb6baaeca68e5ba0a51158b40fae9e5
Author: Alexandru Gagniuc <alexandrux.gagniuc at intel.com>
Date: Wed Dec 16 14:47:17 2015 -0800
drivers/intel/fsp2_0: Do not relocate FIT data to FSP stack
With the newer FSP versions, we can simply pass in a pointer to the
FIT data, instead of needing to copy it to FSP's stack.
Change-Id: I695759bd775e4cf7a206c56d1ffc4619bae5c724
Signed-off-by: Alexandru Gagniuc <alexandrux.gagniuc at intel.com>
---
src/drivers/intel/fsp2_0/Kconfig | 7 +------
src/drivers/intel/fsp2_0/memory_init.c | 14 ++------------
2 files changed, 3 insertions(+), 18 deletions(-)
diff --git a/src/drivers/intel/fsp2_0/Kconfig b/src/drivers/intel/fsp2_0/Kconfig
index bfba51a..683c7df 100644
--- a/src/drivers/intel/fsp2_0/Kconfig
+++ b/src/drivers/intel/fsp2_0/Kconfig
@@ -39,10 +39,6 @@ config VBT_FILE
help
The path and filename of the VBT binary for this platform.
-config FIT_CAR_ADDR
- hex
- default 0xfef2dc00
-
# Cache As RAM region layout:
#
# +-------------+ DCACHE_RAM_BASE + DCACHE_RAM_SIZE [0xff000000]
@@ -56,8 +52,7 @@ config FIT_CAR_ADDR
# | romstage |
# | code |
# +-------------+ ROMSTAGE_CAR_ADDR [0xfef2e000]
-# | FIT TABLE |
-# +-------------+ FIT_CAR_ADDR [0xfef2dc00]
+# | |
# | FSP-M |
# | stack/data |
# +-------------+ DCACHE_RAM_BASE + 0x4000 [0xfef04000]
diff --git a/src/drivers/intel/fsp2_0/memory_init.c b/src/drivers/intel/fsp2_0/memory_init.c
index 84f6fe1..c9acb94c 100644
--- a/src/drivers/intel/fsp2_0/memory_init.c
+++ b/src/drivers/intel/fsp2_0/memory_init.c
@@ -83,6 +83,7 @@ static enum fsp_status do_fsp_memory_init(void **hob_list_ptr,
/* Update the UPD data */
raminit_upd.GpioPadInitTablePtr = NULL;
+ raminit_upd.FitTablePtr = read32((void *)FIT_POINTER);
fill_console_params(&raminit_upd);
platform_fsp_memory_init_params_cb(&raminit_upd);
@@ -103,23 +104,12 @@ static enum fsp_status do_fsp_memory_init(void **hob_list_ptr,
return status;
}
-/*
- * Relocate FIT table to FSP-M's stack/data space
- *
- * FSP-M expects to find FIT entries at some address hardcoded in FSP.
- */
-static void relocate_fit(void)
-{
- uint32_t fit_loc = read32((void *)FIT_POINTER);
- memcpy((void*)CONFIG_FIT_CAR_ADDR, (void*)fit_loc, FIT_SIZE);
-}
-
enum fsp_status fsp_memory_init(void **hob_list, size_t tolum_size)
{
struct fsp_header hdr;
if (fsp_load_binary(&hdr, "blobs/fsp-m.bin") != CB_SUCCESS)
return FSP_NOT_FOUND;
- relocate_fit();
+
return do_fsp_memory_init(hob_list, &hdr, tolum_size);
}
More information about the coreboot-gerrit
mailing list