我想做我自己的内核。。。。
我的内核是通过grub加载的……我想它创建了我需要的gdt……所以我没有自己创建gdt,而是继续创建idt。。。
现在,当我尝试用零除异常时,我的错误处理方法不会被调用。。。。
我在我的asm文件中有lidt,将条目设置到idt中,在推送所有寄存器之后,我调用了从未调用过的错误处理程序!
可以使用grub的默认gdt创建自己的idt吗?
或者我也需要创建gdt。。。
源代码-https://github.com/pawangogna/pkern
P.S.我正在学习本教程http://www.osdever.net/bkerndev/Docs/idt.htm
最佳答案
代码中没有0的除法。
关于c - 没有使用grub的gdt的idt,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9172837/