Arthur Heymans has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/37279 )
Change subject: src/soc/intel/fsp-car: Align stack before jumping to C code ......................................................................
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 arthur@aheymans.xyz --- M src/soc/intel/common/block/cpu/car/cache_as_ram_fsp.S 1 file changed, 4 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot 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