[coreboot-gerrit] Patch set updated for coreboot: drivers/intel/fsp2_0: Take cbmem overhead size as a parameter

Alexandru Gagniuc (mr.nuke.me@gmail.com) gerrit at coreboot.org
Tue Jan 26 23:19:57 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/13377

-gerrit

commit bb2981d00f1477225b38f3cc926a40a355b87910
Author: Alexandru Gagniuc <alexandrux.gagniuc at intel.com>
Date:   Mon Dec 7 15:42:54 2015 -0800

    drivers/intel/fsp2_0: Take cbmem overhead size as a parameter
    
    FSP will reserve an area of memory at the top of usable RAM below 4GiB
    if asked. Rather than selecting the region's size in fsp_memory_init(),
    pass it as a parameter. This allows the caller to handle all the cbmem
    related logic, and removes the cbmem dependency from the FSP wrapper.
    
    Change-Id: I581b224ee83202732ae83a0f363f0bb717aae669
    Signed-off-by: Alexandru Gagniuc <alexandrux.gagniuc at intel.com>
---
 src/drivers/intel/fsp2_0/include/fsp/api.h   |  2 +-
 src/drivers/intel/fsp2_0/memory_init.c       | 10 +++++-----
 src/soc/intel/apollolake/romstage/romstage.c |  2 +-
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/drivers/intel/fsp2_0/include/fsp/api.h b/src/drivers/intel/fsp2_0/include/fsp/api.h
index 6d2efd8..08f5b57 100644
--- a/src/drivers/intel/fsp2_0/include/fsp/api.h
+++ b/src/drivers/intel/fsp2_0/include/fsp/api.h
@@ -39,7 +39,7 @@ enum fsp_notify_phase {
 
 
 /* Main FSP stages */
-enum fsp_status fsp_memory_init(void **hob_list);
+enum fsp_status fsp_memory_init(void **hob_list, size_t tolum_size);
 enum fsp_status fsp_silicon_init(void);
 enum fsp_status fsp_notify(enum fsp_notify_phase phase);
 
diff --git a/src/drivers/intel/fsp2_0/memory_init.c b/src/drivers/intel/fsp2_0/memory_init.c
index e9d6e42..84f6fe1 100644
--- a/src/drivers/intel/fsp2_0/memory_init.c
+++ b/src/drivers/intel/fsp2_0/memory_init.c
@@ -14,7 +14,6 @@
 #include <arch/io.h>
 #include <arch/cpu.h>
 #include <console/console.h>
-#include <cbmem.h>
 #include <fsp/api.h>
 #include <fsp/util.h>
 #include <string.h>
@@ -58,7 +57,8 @@ void platform_fsp_memory_init_params_cb(struct MEMORY_INIT_UPD *memupd)
 }
 
 static enum fsp_status do_fsp_memory_init(void **hob_list_ptr,
-					  struct fsp_header *hdr)
+					  struct fsp_header *hdr,
+					  size_t tolum_size)
 {
 	enum fsp_status status;
 	fsp_memory_init_fn fsp_raminit;
@@ -74,7 +74,7 @@ static enum fsp_status do_fsp_memory_init(void **hob_list_ptr,
 	memset(&rt_buffer, 0, sizeof(rt_buffer));
 
 	rt_buffer.upd_data_rgn = &raminit_upd;
-	rt_buffer.bootloader_tolum_size = cbmem_overhead_size();
+	rt_buffer.bootloader_tolum_size = tolum_size;
 
 	/* Get any board specific changes */
 	raminit_params.nvs_buffer = NULL;
@@ -114,12 +114,12 @@ static void relocate_fit(void)
 	memcpy((void*)CONFIG_FIT_CAR_ADDR, (void*)fit_loc, FIT_SIZE);
 }
 
-enum fsp_status fsp_memory_init(void **hob_list)
+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);
+	return do_fsp_memory_init(hob_list, &hdr, tolum_size);
 }
diff --git a/src/soc/intel/apollolake/romstage/romstage.c b/src/soc/intel/apollolake/romstage/romstage.c
index b1595e8..2a4b2ff 100644
--- a/src/soc/intel/apollolake/romstage/romstage.c
+++ b/src/soc/intel/apollolake/romstage/romstage.c
@@ -83,7 +83,7 @@ asmlinkage void* romstage_entry(void)
 
 	soc_early_romstage_init();
 
-	fsp_memory_init(&hob_list_ptr);
+	fsp_memory_init(&hob_list_ptr, cbmem_overhead_size());
 
 	fsp_find_reserved_memory(&fsp_mem, hob_list_ptr);
 



More information about the coreboot-gerrit mailing list