summaryrefslogtreecommitdiffstats
path: root/head.S
diff options
context:
space:
mode:
Diffstat (limited to 'head.S')
-rw-r--r--head.S8
1 files changed, 7 insertions, 1 deletions
diff --git a/head.S b/head.S
index d551336..2464791 100644
--- a/head.S
+++ b/head.S
@@ -35,6 +35,12 @@ startup_32:
0: popl %ebx
addl $_GLOBAL_OFFSET_TABLE_+[.-0b], %ebx
+ /* Store the exit stack address */
+ cmpl $0, exit_esp@GOTOFF(%ebx)
+ jnz 0f
+ movl %esp, exit_esp@GOTOFF(%ebx)
+0:
+
/* Pick the appropriate boot_stack address */
leal boot_stack_top@GOTOFF(%ebx), %esp
@@ -806,7 +812,7 @@ idt_real:
.globl _ap_trampoline_protmode
.code16
_ap_trampoline_start:
- lgdt 0x0 /* will be fixed up later, see smp.c:BootAP()*/
+ cs lgdt 0x100 /* will be filled in by boot_ap() */
movl %cr0, %eax
orl $1, %eax
movl %eax, %cr0