Changeset 6e5252a in mainline for kernel/arch/amd64/src
- Timestamp:
- 2018-11-13T20:22:20Z (7 years ago)
- Children:
- 156bae23
- Parents:
- 2214382
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-10-23 21:48:41)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-11-13 20:22:20)
- Location:
- kernel/arch/amd64/src
- Files:
-
- 4 edited
-
amd64.c (modified) (1 diff)
-
boot/multiboot.S (modified) (2 diffs)
-
boot/multiboot2.S (modified) (1 diff)
-
smp/ap.S (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/amd64/src/amd64.c
r2214382 r6e5252a 92 92 multiboot_info_parse(signature, (multiboot_info_t *) info); 93 93 multiboot2_info_parse(signature, (multiboot2_info_t *) info); 94 95 #ifdef CONFIG_SMP96 size_t unmapped_size = (uintptr_t) unmapped_end - BOOT_OFFSET;97 /* Copy AP bootstrap routines below 1 MB. */98 memcpy((void *) AP_BOOT_OFFSET, (void *) BOOT_OFFSET, unmapped_size);99 #endif100 94 } 101 95 -
kernel/arch/amd64/src/boot/multiboot.S
r2214382 r6e5252a 46 46 #define START_STACK (BOOT_OFFSET - BOOT_STACK_SIZE) 47 47 48 .section K_TEXT_START, "ax" 49 50 .code32 51 52 .macro pm_error msg 53 movl \msg, %esi 54 jmp pm_error_halt 55 .endm 56 57 .macro pm_status msg 58 #if defined(CONFIG_EGA) && !defined(CONFIG_FB) 59 pushl %esi 60 movl \msg, %esi 61 call pm_early_puts 62 popl %esi 63 #endif 64 .endm 65 66 .macro pm2_status msg 67 #ifndef CONFIG_FB 68 pm_status \msg 69 #endif 70 .endm 48 .section .multiboot, "a" 71 49 72 50 .align 4 … … 91 69 .long CONFIG_BFB_BPP 92 70 #endif 71 72 .section K_TEXT_START, "ax" 73 74 .code32 75 76 .macro pm_error msg 77 movl \msg, %esi 78 jmp pm_error_halt 79 .endm 80 81 .macro pm_status msg 82 #if defined(CONFIG_EGA) && !defined(CONFIG_FB) 83 pushl %esi 84 movl \msg, %esi 85 call pm_early_puts 86 popl %esi 87 #endif 88 .endm 89 90 .macro pm2_status msg 91 #ifndef CONFIG_FB 92 pm_status \msg 93 #endif 94 .endm 93 95 94 96 SYMBOL(multiboot_image_start) -
kernel/arch/amd64/src/boot/multiboot2.S
r2214382 r6e5252a 35 35 #include <genarch/multiboot/multiboot2.h> 36 36 37 .section K_TEXT_START, "ax" 38 39 .code32 37 .section .multiboot, "a" 40 38 41 39 .align 8 -
kernel/arch/amd64/src/smp/ap.S
r2214382 r6e5252a 41 41 #include <arch/context_struct.h> 42 42 43 .section K_ TEXT_START, "ax"43 .section K_AP_TEXT_START, "ax" 44 44 45 45 #ifdef CONFIG_SMP … … 50 50 51 51 .align 4096 52 SYMBOL(unmapped_ap_boot) 52 53 SYMBOL(ap_boot) 53 54 .code16 54 55 cli … … 61 62 orl $CR0_PE, %eax 62 63 movl %eax, %cr0 # switch to protected mode 63 jmpl $GDT_SELECTOR(KTEXT32_DES), $jump_to_kernel - BOOT_OFFSET + AP_BOOT_OFFSET64 jmpl $GDT_SELECTOR(KTEXT32_DES), $jump_to_kernel 64 65 65 66 jump_to_kernel: … … 94 95 95 96 # At this point we are in compatibility mode 96 jmpl $GDT_SELECTOR(KTEXT_DES), $start64 - BOOT_OFFSET + AP_BOOT_OFFSET97 jmpl $GDT_SELECTOR(KTEXT_DES), $start64 97 98 98 99 .code64 … … 109 110 #endif /* CONFIG_SMP */ 110 111 111 .section K_ DATA_START, "aw", @progbits112 .section K_AP_DATA_START, "aw", @progbits 112 113 113 114 #ifdef CONFIG_SMP 114 115 115 SYMBOL( unmapped_ap_gdtr)116 SYMBOL(ap_gdtr) 116 117 .word 0 117 118 .long 0
Note:
See TracChangeset
for help on using the changeset viewer.
