summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/ext_stage_cache.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/ext_stage_cache.c b/src/lib/ext_stage_cache.c
index ab783473f3..c3d4aee190 100644
--- a/src/lib/ext_stage_cache.c
+++ b/src/lib/ext_stage_cache.c
@@ -78,6 +78,7 @@ void stage_cache_add(int stage_id, const struct prog *stage)
meta->load_addr = (uintptr_t)prog_start(stage);
meta->entry_addr = (uintptr_t)prog_entry(stage);
+ meta->arg = (uintptr_t)prog_entry_arg(stage);
e = imd_entry_add(imd, CBMEM_ID_STAGEx_CACHE + stage_id,
prog_size(stage));
@@ -166,7 +167,8 @@ void stage_cache_load_stage(int stage_id, struct prog *stage)
memcpy((void *)(uintptr_t)meta->load_addr, c, size);
prog_set_area(stage, (void *)(uintptr_t)meta->load_addr, size);
- prog_set_entry(stage, (void *)(uintptr_t)meta->entry_addr, NULL);
+ prog_set_entry(stage, (void *)(uintptr_t)meta->entry_addr,
+ (void *)(uintptr_t)meta->arg);
}
static void stage_cache_setup(int is_recovery)