cpu/x86: Set up a separate stack for APs
APs use a lot less stack, so set up a separate stack for those in .bss. Now that CPU_INFO_V2 is the only code path that is used, there is no need to align stacks in c_start.S. Change-Id: I7a681a2e3003da0400843daa5d6d6180d952abf5 Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/c/coreboot/+/69123 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
This commit is contained in:
committed by
Felix Held
parent
96b49b5acb
commit
4d75dbd1c1
@@ -10,11 +10,9 @@
|
||||
.global _estack
|
||||
.global _stack_size
|
||||
|
||||
/* Stack alignment is not enforced with rmodule loader, reserve one
|
||||
* extra CPU such that alignment can be enforced on entry. */
|
||||
.align CONFIG_STACK_SIZE
|
||||
.align 16
|
||||
_stack:
|
||||
.space (CONFIG_MAX_CPUS+1)*CONFIG_STACK_SIZE
|
||||
.space CONFIG_STACK_SIZE
|
||||
_estack:
|
||||
.set _stack_size, _estack - _stack
|
||||
|
||||
@@ -75,7 +73,7 @@ _start:
|
||||
|
||||
/* Set new stack with enforced alignment. */
|
||||
movl $_estack, %esp
|
||||
andl $(~(CONFIG_STACK_SIZE-1)), %esp
|
||||
andl $(0xfffffff0), %esp
|
||||
|
||||
/*
|
||||
* Now we are finished. Memory is up, data is copied and
|
||||
|
Reference in New Issue
Block a user