aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/intel/car/romstage.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/intel/car/romstage.c')
-rw-r--r--src/cpu/intel/car/romstage.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/cpu/intel/car/romstage.c b/src/cpu/intel/car/romstage.c
index 37e39428e2..c36e0468e7 100644
--- a/src/cpu/intel/car/romstage.c
+++ b/src/cpu/intel/car/romstage.c
@@ -23,7 +23,6 @@
asmlinkage void *romstage_main(unsigned long bist)
{
int i;
- void *romstage_stack_after_car;
const int num_guards = 4;
const u32 stack_guard = 0xdeadbeef;
u32 *stack_base;
@@ -52,10 +51,13 @@ asmlinkage void *romstage_main(unsigned long bist)
printk(BIOS_DEBUG, "Smashed stack detected in romstage!\n");
}
- /* Get the stack to use after cache-as-ram is torn down. */
- romstage_stack_after_car = setup_stack_and_mtrrs();
+ if (!IS_ENABLED(CONFIG_POSTCAR_STAGE))
+ return setup_stack_and_mtrrs();
- return romstage_stack_after_car;
+ platform_enter_postcar();
+
+ /* We do not return. */
+ return NULL;
}
asmlinkage void romstage_after_car(void)