summaryrefslogtreecommitdiffstats
path: root/arch/x86/secondary.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/secondary.S')
-rw-r--r--arch/x86/secondary.S7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/x86/secondary.S b/arch/x86/secondary.S
index 899f90a50d97..8c9ea898fbe1 100644
--- a/arch/x86/secondary.S
+++ b/arch/x86/secondary.S
@@ -23,10 +23,9 @@
*/
.text
.globl _secondary_start, _secondary_start_end
- .balign 4096
_secondary_start:
.code16
- .long 0
+ .balign 4096
cli
xorl %eax, %eax
movl %eax, %cr3 /* Invalidate TLB*/
@@ -49,6 +48,7 @@ _secondary_start:
ljmpl $0x10, $1f
1:
.code32
+secondary32:
movw $0x18, %ax
movw %ax, %ds
movw %ax, %es
@@ -60,7 +60,8 @@ _secondary_start:
lidt idtarg
/* Set the stack pointer */
- movl _secondary_start, %esp
+ movl $_secondary_start-4,%eax
+ movl 0x0(%eax),%esp
call secondary_cpu_init
1: hlt