Andrey Petrov (andrey.petrov@intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13641
-gerrit
commit 4b6893f1894f17f957e968ef6441346cbdb9d235 Author: Andrey Petrov andrey.petrov@intel.com Date: Mon Feb 8 17:13:35 2016 -0800
arch/x86: Allow bootblock code to use CAR_GLOBAL variables
Since cbmem is not initialized in bootblock, CAR_GLOBAL variables can only be accessed directly similar to verstage.
Change-Id: Ifc705016290807c49dc8c49b581864cac2ad3f80 Signed-off-by: Andrey Petrov andrey.petrov@intel.com --- src/arch/x86/include/arch/early_variables.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/arch/x86/include/arch/early_variables.h b/src/arch/x86/include/arch/early_variables.h index 34d4a7d..16eeacc 100644 --- a/src/arch/x86/include/arch/early_variables.h +++ b/src/arch/x86/include/arch/early_variables.h @@ -29,10 +29,11 @@ asm(".previous"); #endif /* __clang__ */
/* - * On x86 verstage, all CAR_GLOBAL variables are accessed unconditionally - * because cbmem is never initialized until romstage when dram comes up. + * In stages that use CAR (verstage, C bootblock) all CAR_GLOBAL variables are + * accessed unconditionally because cbmem is never initialized until romstage + * when dram comes up. */ -#if ENV_VERSTAGE +#if ENV_VERSTAGE || ENV_BOOTBLOCK static inline void *car_get_var_ptr(void *var) { return var;