X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/fa57b4a05aa12d594f40e0894e0ac6f810a7095c..2a49908006b177c4d6354309333d06b1b96e4887:/lunaix-os/arch/x86/boot.S diff --git a/lunaix-os/arch/x86/boot.S b/lunaix-os/arch/x86/boot.S index 938db87..d1d14ba 100644 --- a/lunaix-os/arch/x86/boot.S +++ b/lunaix-os/arch/x86/boot.S @@ -18,8 +18,8 @@ /* 根据System V ABI,栈地址必须16字节对齐 */ /* 这里只是一个临时栈,在_hhk_init里面我们会初始化内核专用栈 */ stack_bottom: - .skip 16318 * 2, 0 - stack_top: + .skip 4096, 0 + __stack_top: /* @@ -44,7 +44,7 @@ cld # 确保屏蔽所有外中断,直到我们准备好PIC为止 cli - movl $stack_top, %esp + movl $__stack_top, %esp subl $16, %esp @@ -78,7 +78,7 @@ movl %eax, %cr3 movl %cr0, %eax - orl $0x80010000, %eax /* 开启分页与地址转换 (CR0.PG=1, CR0.WP=1) */ + orl $0x80000000, %eax /* 开启分页与地址转换 (CR0.PG=1, CR0.WP=0) */ andl $0xfffffffb, %eax orl $0x2, %eax /* 启用x87 FPU (CR0.MP=1, CR0.EM=0) */ movl %eax, %cr0