diff options
Diffstat (limited to 'src/cpu/intel/car/romstage.c')
-rw-r--r-- | src/cpu/intel/car/romstage.c | 10 |
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) |