summaryrefslogtreecommitdiffstats
path: root/src/drivers/intel/fsp2_0/silicon_init.c
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2020-09-03 21:17:20 -0700
committerPatrick Georgi <pgeorgi@google.com>2021-03-17 08:05:51 +0000
commit2e973942bc34ff2d7b110ba35bf3cda987838907 (patch)
tree95a3c6d99491ab15a4d2c677f17edcfb5005d54d /src/drivers/intel/fsp2_0/silicon_init.c
parent8e15e91dc4f397371c5ce04a4945945468059953 (diff)
downloadcoreboot-2e973942bc34ff2d7b110ba35bf3cda987838907.tar.gz
coreboot-2e973942bc34ff2d7b110ba35bf3cda987838907.tar.bz2
coreboot-2e973942bc34ff2d7b110ba35bf3cda987838907.zip
program_loading: Replace prog_rdev() with raw start pointer and size
Since prog_locate() was eliminated, prog_rdev() only ever represents the loaded program in memory now. Using the rdev API for this is unnecessary if we know that the "device" is always just memory. This patch changes it to be represented by a simple pointer and size. Since some code still really wants this to be an rdev, introduce a prog_chain_rdev() helper to translate back to that if necessary. Signed-off-by: Julius Werner <jwerner@chromium.org> Change-Id: If7c0f1c5698fa0c326e23c553ea0fe928b25d202 Reviewed-on: https://review.coreboot.org/c/coreboot/+/46483 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/drivers/intel/fsp2_0/silicon_init.c')
-rw-r--r--src/drivers/intel/fsp2_0/silicon_init.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/drivers/intel/fsp2_0/silicon_init.c b/src/drivers/intel/fsp2_0/silicon_init.c
index 3975a9611141..c9898f5ce39b 100644
--- a/src/drivers/intel/fsp2_0/silicon_init.c
+++ b/src/drivers/intel/fsp2_0/silicon_init.c
@@ -210,7 +210,10 @@ void fsps_load(void)
if (resume_from_stage_cache()) {
printk(BIOS_DEBUG, "Loading FSPS from stage_cache\n");
stage_cache_load_stage(STAGE_REFCODE, fsps);
- if (fsp_validate_component(&fsps_hdr, prog_rdev(fsps)) != CB_SUCCESS)
+
+ struct region_device prog_rdev;
+ prog_chain_rdev(fsps, &prog_rdev);
+ if (fsp_validate_component(&fsps_hdr, &prog_rdev) != CB_SUCCESS)
die("On resume fsps header is invalid\n");
load_done = 1;
return;