summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Schnelle <svens@stackframe.org>2012-07-11 21:41:06 +0200
committerRonald G. Minnich <rminnich@gmail.com>2012-07-12 07:11:57 +0200
commit6f73a5bf7000ffa1c11e9f195760ebce948159b3 (patch)
treec1a0d54a32d47c1a57ba2b0747875c195c9ea21f
parentbc8c996608e68cb30d968796b0359a922ec66828 (diff)
Fix stack assignment during CPU initialization
There are two errors in the code. The first one is a missing $ sign in mov _stack, %esp. Thanks to Ronald G Minnich for catching that bug. The second bug is the 'incl %eax', which shouldn't be there, as there's no secondary CPU with index 0. CPU0 uses always the stack below _estack. Change-Id: Id267a654ba95b0e898eeaaafb2403b438250a563 Signed-off-by: Sven Schnelle <svens@stackframe.org> Reviewed-on: http://review.coreboot.org/1212 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com> Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
-rw-r--r--src/cpu/x86/lapic/secondary.S3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/cpu/x86/lapic/secondary.S b/src/cpu/x86/lapic/secondary.S
index 15bae5e5db..e6650ecf5a 100644
--- a/src/cpu/x86/lapic/secondary.S
+++ b/src/cpu/x86/lapic/secondary.S
@@ -53,10 +53,9 @@ __ap_protected_start:
movl $1, %eax
lock xadd %eax, cpucount
movl %eax, %ecx
- incl %eax
/* assign stack for this specific cpu */
- mov _stack, %esp
+ mov $_stack, %esp
mov $CONFIG_STACK_SIZE, %ebx
mul %ebx
add %eax, %esp