Arthur Heymans has uploaded this change for review.

View Change

src/soc/intel/fsp-car: Align stack before jumping to C code

GCC has had a 16 byte stack requirement since quite some time now...

Change-Id: I0f5b62b5fef3ca7ec6d9010723527a356eb566ed
Signed-off-by: Arthur Heymans <>
M src/soc/intel/common/block/cpu/car/cache_as_ram_fsp.S
1 file changed, 4 insertions(+), 0 deletions(-)

git pull ssh:// refs/changes/79/37279/1
diff --git a/src/soc/intel/common/block/cpu/car/cache_as_ram_fsp.S b/src/soc/intel/common/block/cpu/car/cache_as_ram_fsp.S
index d7ef834..4174f36 100644
--- a/src/soc/intel/common/block/cpu/car/cache_as_ram_fsp.S
+++ b/src/soc/intel/common/block/cpu/car/cache_as_ram_fsp.S
@@ -99,6 +99,10 @@
xorl %eax, %eax
rep stosl

+ /* Need to align stack to 16 bytes at call instruction. Account for
+ the two pushes below. */
+ andl $0xfffffff0, %esp
+ sub $8, %esp
/* Restore the timestamp from bootblock_crt0.S (ebp:mm1) */
push %ebp
movd %mm1, %eax

To view, visit change 37279. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I0f5b62b5fef3ca7ec6d9010723527a356eb566ed
Gerrit-Change-Number: 37279
Gerrit-PatchSet: 1
Gerrit-Owner: Arthur Heymans <>
Gerrit-Reviewer: Arthur Heymans <>
Gerrit-Reviewer: Patrick Rudolph <>
Gerrit-MessageType: newchange