Changes in kernel/arch/ia32/src/smp/ap.S [9d58539:e98f1c3e] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/src/smp/ap.S
r9d58539 re98f1c3e 32 32 */ 33 33 34 #include <abi/asmtool.h> 34 35 #include <arch/boot/boot.h> 35 36 #include <arch/boot/memmap.h> 36 37 #include <arch/mm/page.h> 37 38 #include <arch/pm.h> 39 #include <arch/cpu.h> 40 #include <arch/context_struct.h> 38 41 39 42 .section K_TEXT_START, "ax" 40 43 41 44 #ifdef CONFIG_SMP 42 43 .global unmapped_ap_boot44 45 45 46 KTEXT=8 … … 53 54 54 55 .align 4096 55 unmapped_ap_boot: 56 SYMBOL(unmapped_ap_boot) 56 57 .code16 57 58 cli … … 64 65 /* switch to protected mode */ 65 66 movl %cr0, %eax 66 orl $ 1, %eax67 orl $CR0_PE, %eax 67 68 movl %eax, %cr0 68 69 jmpl $KTEXT, $jump_to_kernel - BOOT_OFFSET + AP_BOOT_OFFSET … … 74 75 movw %ax, %es 75 76 movw %ax, %ss 76 movl $KA2PA(ctx), %eax /* KA2PA((uintptr_t) &ctx) */77 movl (%eax), %esp78 subl $0x80000000, %esp/* KA2PA(ctx.sp) */77 movl $KA2PA(ctx), %eax /* KA2PA((uintptr_t) &ctx) */ 78 movl CONTEXT_OFFSET_SP(%eax), %esp 79 leal KA2PA(0)(%esp), %esp /* KA2PA(ctx.sp) */ 79 80 80 81 /* … … 84 85 call map_kernel_pse 85 86 86 addl $ 0x80000000, %esp /*PA2KA(ctx.sp) */87 addl $PA2KA(0), %esp /* PA2KA(ctx.sp) */ 87 88 88 89 /* create the first stack frame */ … … 99 100 #ifdef CONFIG_SMP 100 101 101 .global unmapped_ap_gdtr 102 103 unmapped_ap_gdtr: 102 SYMBOL(unmapped_ap_gdtr) 104 103 .word 0 105 104 .long 0
Note:
See TracChangeset
for help on using the changeset viewer.