diff options
author | Sven Schnelle <svens@stackframe.org> | 2012-07-11 21:41:06 +0200 |
---|---|---|
committer | Ronald G. Minnich <rminnich@gmail.com> | 2012-07-12 07:11:57 +0200 |
commit | 6f73a5bf7000ffa1c11e9f195760ebce948159b3 (patch) | |
tree | c1a0d54a32d47c1a57ba2b0747875c195c9ea21f /src | |
parent | bc8c996608e68cb30d968796b0359a922ec66828 (diff) | |
download | coreboot-6f73a5bf7000ffa1c11e9f195760ebce948159b3.tar.xz |
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>
Diffstat (limited to 'src')
-rw-r--r-- | src/cpu/x86/lapic/secondary.S | 3 |
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 |