On Jan 22, 2008 2:36 AM, Gu Zhongshu <[EMAIL PROTECTED]> wrote:

> Hi All:
> During implementing lab2 for the memory management code
> In the function i386_vm_init,
> I have passed the check_boot_pgdir().
> But then the bochs report
>
> Bochs is exiting with the following message:
> [CPU0 ] exception(): 3rd (13) exception with no resolution
>
> after the lcr0(cr0).
> Can you give me some suggestions about this issue? How can this happen
> and what will cause such panic?
>
> Thanks
> Gu, Zhongshu
>

I think you may have loaded CR3 incorrectly, or did not setup your page
directory properly. Then when you enabled paging, there was a page fault,
and since the IDT also wasn't initialized, you got another page fault/access
violation, which again caused a fault. Since it was the 3rd fault, bochs
gave up.

You should step through the assembly of your kernel, to manually see which
instruction is causing this triple fault when trying to access memory
location X (say). Then, manually try to walk through the paging steps,
examining the PDEs and PTEs in memory to see if your page tables have been
indeed setup properly. Make use of bochs' debugging features.

HTH,
Mayank

Reply via email to