From 2f389f151a0db244def706bc90fd17fe091d8537 Mon Sep 17 00:00:00 2001 From: Arthur Heymans Date: Sun, 20 Oct 2019 01:00:57 +0200 Subject: arch/arm: Pass cbmem_top to ramstage via calling argument This solution is very generic and can in principle be implemented on all arch/soc. Instead trying to figure out which files can be removed from stages and which cbmem_top implementations need with preprocessor, rename all cbmem_top implementation to cbmem_top_romstage. Mechanisms set in place to pass on information from rom- to ram-stage will be placed in a followup commit. Change-Id: If31f0f1de17ffc92c9397f32b26db25aff4b7cab Signed-off-by: Arthur Heymans Reviewed-on: https://review.coreboot.org/c/coreboot/+/36145 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin Reviewed-by: Julius Werner --- src/arch/arm/stages.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/arch/arm/stages.c') diff --git a/src/arch/arm/stages.c b/src/arch/arm/stages.c index c9f5744f75..fc2ebdb2fc 100644 --- a/src/arch/arm/stages.c +++ b/src/arch/arm/stages.c @@ -22,13 +22,16 @@ * .text.stage_entry section created by -ffunction-sections). */ +#include #include #include /** * generic stage entry point. override this if board specific code is needed. */ -__weak void stage_entry(void) +__weak void stage_entry(uintptr_t stage_arg) { + if (!ENV_ROMSTAGE_OR_BEFORE) + _cbmem_top_ptr = stage_arg; main(); } -- cgit v1.2.3