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