From 4d75dbd1c1d6362c002a26a5c4e6de74b2816cdf Mon Sep 17 00:00:00 2001 From: Arthur Heymans Date: Tue, 1 Nov 2022 23:57:24 +0100 Subject: 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/69123 Tested-by: build bot (Jenkins) Reviewed-by: Angel Pons Reviewed-by: Werner Zeh --- src/arch/x86/c_start.S | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src/arch/x86/c_start.S') diff --git a/src/arch/x86/c_start.S b/src/arch/x86/c_start.S index 5b7052ef58..52aeb19b57 100644 --- a/src/arch/x86/c_start.S +++ b/src/arch/x86/c_start.S @@ -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 -- cgit v1.2.3