1 /* 高半核入口点 - 0xC0000000 */
5 #include <sys/failsafe.h>
8 .global __kinit_stack_end
22 movl $__kinit_stack_top, %esp
23 andl $stack_alignment, %esp
25 movl $__kinit_stack_end, %eax
26 movl $STACK_SANITY, (%eax)
27 movl $STACK_SANITY, 4(%eax)
28 movl $STACK_SANITY, 8(%eax)
29 movl $STACK_SANITY, 12(%eax)
35 P.s. 虽然GDT在分页后已变得不重要,甚至可以忽略不作。但为了保持完整性,还是选择加载他
36 这主要是为了保险起见,让GDTR有一个合法的值,否则多咱的粗心大意,容易出#GP
67 # perform arch-specific initialization before diving into kernel
74 call prepare_boot_handover