From ee9e4ae5bfbbb05ea34a2c2753c5517bcd3fb421 Mon Sep 17 00:00:00 2001 From: Andrey Petrov Date: Mon, 8 Feb 2016 17:17:05 -0800 Subject: [PATCH] arch/x86: Reserve space for stack in CAR layout Some platforms may want to use C code in bootblock so they need writable memory and CAR can be used for it. This change reserves memory in CAR that can be used by bootblock and other CAR stages. Change-Id: I8dec768cf8763dbe235f0ba1339079ebc49cbd9a Signed-off-by: Andrey Petrov Reviewed-on: https://review.coreboot.org/13640 Reviewed-by: Aaron Durbin Tested-by: build bot (Jenkins) --- src/arch/x86/car.ld | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/arch/x86/car.ld b/src/arch/x86/car.ld index 191dcaf2aa..f29a465784 100644 --- a/src/arch/x86/car.ld +++ b/src/arch/x86/car.ld @@ -22,6 +22,14 @@ * romstage. Appropriate code needs to handle the transition. */ #if IS_ENABLED(CONFIG_SEPARATE_VERSTAGE) VBOOT2_WORK(., 16K) +#endif + /* Stack for CAR stages. Since it persists across all stages that + * use CAR it can be reused. The chipset/SoC is expected to provide + * the stack size. */ +#if IS_ENABLED(CONFIG_C_ENVIRONMENT_BOOTBLOCK) + _car_stack_start = .; + . += CONFIG_DCACHE_BSP_STACK_SIZE; + _car_stack_end = .; #endif /* The pre-ram cbmem console as well as the timestamp region are fixed * in size. Therefore place them at the beginning .car.data section