+ movl $(KPG_SIZE), 4(%esp)
+ movl $(_k_ptd - 0xC0000000), (%esp) /* PTD物理地址 */
+ call _hhk_init
+
+ /*
+ 基本的映射定义好了,我们可以放心的打开分页了
+ 我们只需要把PTD的基地址加载进CR3就好了。
+ */
+
+ /* 加载PTD基地址(物理地址) */
+ movl (%esp), %eax
+ andl $0xfffff000, %eax # 有点多余,但写上还算明白一点
+ movl %eax, %cr3
+
+ movl %cr0, %eax
+ 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
+
+ movl %cr4, %eax
+ orl $0x600, %eax
+ movl %eax, %cr4 /* CR4.OSFXSR=1, CR4.OSXMMEXCPT=1 */
+ /* x87 FPU 已配置 */
+
+ addl $16, %esp
+
+ /* 进入高半核! */
+ pushl $hhk_entry_
+ ret
\ No newline at end of file