+ 将咱们的 multiboot_info 挪个地儿,就是上述预留的空间里
+ 而后在_hhk_init里,我们会对所有的高半核初始化代码(arch/x86下的所有)进行Identity map
+ 这样,我们能够保证当分页与虚拟地址开启后,我们的内核能够访问到multiboot info table
+ */
+
+ movl $mb_info, 4(%esp)
+ movl %ebx, (%esp)
+ call _save_multiboot_info
+
+ /*
+ _hhk_init用来初始化我们高半核:
+ 1. 初始化最简单的PD与PT(重新映射我们的内核至3GiB处,以及对相应的地方进行Identity Map)
+ */
+
+ movl $(KPG_SIZE), 4(%esp)
+ movl $(_k_ptd - 0xC0000000), (%esp) /* PTD物理地址 */
+ call _hhk_init
+
+ /*
+ 基本的映射定义好了,我们可以放心的打开分页了
+ 我们只需要把PTD的基地址加载进CR3就好了。