diff options
author | Aaron Durbin <adurbin@chromium.org> | 2018-04-17 17:33:10 -0600 |
---|---|---|
committer | Aaron Durbin <adurbin@chromium.org> | 2018-04-24 14:40:16 +0000 |
commit | 1705d6546df6e56b15fa76389eafa2430afa9eb9 (patch) | |
tree | 98d15a5b223836340b67ac0da15359e774d1efd7 | |
parent | 3b16e78a9e1de3d3e03f43c69ae92fc27317bd94 (diff) |
arch/x86: add ENV_CACHE_AS_RAM
Add ENV_CACHE_AS_RAM to indicate to compilation units if cache-as-ram
is employed for that particular stage.
BUG=b:72728953
Change-Id: I06dfa7afe2d967229549090d5aa95455687b0bb9
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/25716
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Justin TerAvest <teravest@chromium.org>
-rw-r--r-- | src/arch/x86/include/arch/early_variables.h | 2 | ||||
-rw-r--r-- | src/include/rules.h | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/arch/x86/include/arch/early_variables.h b/src/arch/x86/include/arch/early_variables.h index 2c6c539654..1b6810de86 100644 --- a/src/arch/x86/include/arch/early_variables.h +++ b/src/arch/x86/include/arch/early_variables.h @@ -20,7 +20,7 @@ #include <stdlib.h> #include <rules.h> -#if defined(__PRE_RAM__) && IS_ENABLED(CONFIG_CACHE_AS_RAM) +#if ENV_CACHE_AS_RAM asm(".section .car.global_data,\"w\",@nobits"); asm(".previous"); #ifdef __clang__ diff --git a/src/include/rules.h b/src/include/rules.h index 8cb6d86683..4017d37ff5 100644 --- a/src/include/rules.h +++ b/src/include/rules.h @@ -253,4 +253,12 @@ #define __SIMPLE_DEVICE__ #endif +/* x86 specific. Indicates that the current stage is running with cache-as-ram + * enabled from the beginning of the stage in C code. */ +#if defined(__PRE_RAM__) +#define ENV_CACHE_AS_RAM IS_ENABLED(CONFIG_CACHE_AS_RAM) +#else +#define ENV_CACHE_AS_RAM 0 +#endif + #endif /* _RULES_H */ |