[coreboot-gerrit] Patch set updated for coreboot: drivers/intel/fsp2_0: Do not relocate FIT data to FSP stack

Alexandru Gagniuc (mr.nuke.me@gmail.com) gerrit at coreboot.org
Mon Jan 25 06:41:54 CET 2016


Alexandru Gagniuc (mr.nuke.me at gmail.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13400

-gerrit

commit 0f5d3daef86b3f1a59e44d187fd34ea8c9cf64ba
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