标签: assembly kernel
如何将自定义操作系统内核重新绑定到高内存中,以使地址0xABCD变为0xFFFFFF800000ABCD? (内核已经由引导加载程序从地址0x100000开始加载。)我当前的解决方案在未映射的地址上生成页面错误,由于IDT尚未初始化,因此会升级为三重错误。
0xABCD
0xFFFFFF800000ABCD
0x100000
答案 0 :(得分:1)
不要明确移动你的内核。
相反,使用分页。首先,在低内存中设置所有内容,然后启用分页并将内核映射(不移动)为高。不涉及复制字节。