diff options
author | Arthur Heymans <arthur@aheymans.xyz> | 2022-07-08 11:04:27 +0200 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2022-07-09 17:05:19 +0000 |
commit | 211d3228781725e88de5e05f5052ef6ce9dc2955 (patch) | |
tree | f61ff80330cffc92690736de8716ad1fba3db413 /src | |
parent | 0636da3108b3672a8e03a4dafb788c6fa9df93dc (diff) |
*/fsp/exit_car: Push stack address into %esp
Fixes: 5315e96abf ("arch/x86/postcar: Use a separate stack for C execution")
Resolves:
https://mail.coreboot.org/hyperkitty/list/coreboot@coreboot.org/
thread/TGIWAKZKELJRAEMKJNYRJ55MX2CXYNCV/
Link: https://mail.coreboot.org/hyperkitty/list/coreboot@coreboot.org/
thread/2JC3GNJSGXUD6DRVUY7O2O3W6OM3E2MY/
5315e96abf broke platforms using FSP-M to tear down CAR. It was pushing
the value at '_estack' into %esp rather than the address '_estack'.
Change-Id: Ie1fc70bd60fe3a2519ffb71625a35630fa732ff6
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/65716
Reviewed-by: Patrick Georgi <patrick@coreboot.org>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/drivers/intel/fsp1_1/exit_car.S | 2 | ||||
-rw-r--r-- | src/soc/intel/common/block/cpu/car/exit_car_fsp.S | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/drivers/intel/fsp1_1/exit_car.S b/src/drivers/intel/fsp1_1/exit_car.S index 2671de5825..bd6ed83c21 100644 --- a/src/drivers/intel/fsp1_1/exit_car.S +++ b/src/drivers/intel/fsp1_1/exit_car.S @@ -7,7 +7,7 @@ chipset_teardown_car: pop %ebx /* Move the stack pointer to real RAM */ - movl _estack, %esp + movl $_estack, %esp /* Align the stack 16 bytes */ andl $0xfffffff0, %esp diff --git a/src/soc/intel/common/block/cpu/car/exit_car_fsp.S b/src/soc/intel/common/block/cpu/car/exit_car_fsp.S index 4d35447a56..37644c3e5f 100644 --- a/src/soc/intel/common/block/cpu/car/exit_car_fsp.S +++ b/src/soc/intel/common/block/cpu/car/exit_car_fsp.S @@ -17,7 +17,7 @@ chipset_teardown_car: /* Set up new stack. */ - mov _estack, %esp + mov $_estack, %esp /* Align the stack. */ andl $0xfffffff0, %esp |