summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2022-07-08 11:04:27 +0200
committerFelix Held <felix-coreboot@felixheld.de>2022-07-09 17:05:19 +0000
commit211d3228781725e88de5e05f5052ef6ce9dc2955 (patch)
treef61ff80330cffc92690736de8716ad1fba3db413 /src
parent0636da3108b3672a8e03a4dafb788c6fa9df93dc (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.S2
-rw-r--r--src/soc/intel/common/block/cpu/car/exit_car_fsp.S2
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