git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update project structures
[lunaix-os.git]
/
lunaix-os
/
kernel
/
asm
/
x86
/
prologue.S
diff --git
a/lunaix-os/kernel/asm/x86/prologue.S
b/lunaix-os/kernel/asm/x86/prologue.S
index 0716b4898b76078ba2888be16882ced6d443d117..cbfd414765ed0cfa3086f3b1fb21cb1002ed7be6 100644
(file)
--- a/
lunaix-os/kernel/asm/x86/prologue.S
+++ b/
lunaix-os/kernel/asm/x86/prologue.S
@@
-39,16
+39,8
@@
_after_gdt:
movl $mb_info, (%esp)
_after_gdt:
movl $mb_info, (%esp)
- call _kernel_init
-
- /*
- 加载新的栈指针,位于0xffbfffff,但因为16字节对齐的需求,低四位清零。
- 为什么不是0xffffffff? 因为0xffc00000 - 0xffffffff 这4MiB的空间用于
- 对页表与页目录的循环映射。
- */
- mov $0xffbffff0, %esp
- call _kernel_p
ost
_init
+ call _kernel_p
re
_init
subl $6, %esp
subl $6, %esp
@@
-60,6
+52,17
@@
addl $6, %esp
addl $6, %esp
+ call _kernel_init
+
+ /*
+ 加载新的栈指针,位于0xffbfffff,但因为16字节对齐的需求,低四位清零。
+ 为什么不是0xffffffff? 因为0xffc00000 - 0xffffffff 这4MiB的空间用于
+ 对页表与页目录的循环映射。
+ */
+ mov $0xffbffff0, %esp
+
+ call _kernel_post_init
+
/* 进入内核 */
call _kernel_main
/* 进入内核 */
call _kernel_main