summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2022-11-01 23:57:24 +0100
committerFelix Held <felix-coreboot@felixheld.de>2022-12-23 14:29:01 +0000
commit4d75dbd1c1d6362c002a26a5c4e6de74b2816cdf (patch)
tree2c396dd953e83ba55e33990cc3389129915db239 /src/arch
parent96b49b5acbf5328ce2d317a7393db588a928926e (diff)
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>
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/x86/c_start.S8
1 files changed, 3 insertions, 5 deletions
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