aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/x86/lapic/secondary.S
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/x86/lapic/secondary.S')
-rw-r--r--src/cpu/x86/lapic/secondary.S6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cpu/x86/lapic/secondary.S b/src/cpu/x86/lapic/secondary.S
index 073e6b485b..d36bc9a645 100644
--- a/src/cpu/x86/lapic/secondary.S
+++ b/src/cpu/x86/lapic/secondary.S
@@ -61,9 +61,11 @@ __ap_protected_start:
#if ENV_X86_64
/* entry64.inc preserves ebx. */
#include <cpu/x86/64bit/entry64.inc>
- mov secondary_stack, %rsp
+ movabs secondary_stack, %rax
+ mov %rax, %rsp
andl $0xfffffff0, %esp
- mov secondary_cpu_index, %rdi
+ movabs secondary_cpu_index, %rax
+ mov %rax, %rdi
#else
/* Set the stack pointer, and flag that we are done */
xorl %eax, %eax