Hi Mayank: Thank you for you information. At last I found it is the problem of forgetting to set permission of kernel to write the page table that cause this problem. And the cr0_WP set in cr0 is used to cause this issue. On Jan 23, 2008 4:20 AM, Mayank Kaushik <mayank.utexas@xxxxxxxxx> wrote: > > On Jan 22, 2008 2:36 AM, Gu Zhongshu <gzs715@xxxxxxxxx> 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 > -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ