arch/x86: update assembly to ensure 16-byte alignment into C
When the C compiler expects 16-byte alignment of the stack it is at the call instruction. Correct existing call points from assembly to ensure the stacks are aligned to 16 bytes at the call instruction. Change-Id: Icadd7a1f9284e92aecd99c30cb2acb307823682c Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/20314 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
parent
d28bd0c79e
commit
028e18ff3c
2 changed files with 20 additions and 1 deletions
|
|
@ -184,6 +184,11 @@ car_init_done:
|
|||
/* Setup bootblock stack */
|
||||
mov $_car_stack_end, %esp
|
||||
|
||||
/* Need to align stack to 16 bytes at call instruction. Account for
|
||||
the two pushes below. */
|
||||
andl $0xfffffff0, %esp
|
||||
sub $8, %esp
|
||||
|
||||
/*push TSC value to stack*/
|
||||
movd %mm2, %eax
|
||||
pushl %eax /* tsc[63:32] */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue