diff options
Diffstat (limited to 'head.S')
-rw-r--r-- | head.S | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -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 |