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