diff --git a/src/sys/vmm/pagefault.c b/src/sys/vmm/pagefault.c index 23667ad..9e65d87 100644 --- a/src/sys/vmm/pagefault.c +++ b/src/sys/vmm/pagefault.c @@ -95,13 +95,17 @@ else if (pageTable[pageTableIndex] != 0x0) { kprintf("pageTable: [0x%X:0x%X:0x%X:0x%X]\n",pageTable[pageTableIndex],pageTableIndex,pageDirectoryIndex,eip); kprintf("Segfault At Address: [0x%X][0x%X][%i][0x%X] Non Mapped\n",memAddr,_current->tss.esp,_current->id,eip); + spinUnlock(&pageFaultSpinLock); + endTask(_current->id); while (1); } else { spinUnlock(&pageFaultSpinLock); //Need To Create A Routine For Attempting To Access Non Mapped Memory kprintf("Segfault At Address: [0x%X][0x%X][%i][0x%X] Non Mapped\n",memAddr,_current->tss.esp,_current->id,eip); + spinUnlock(&pageFaultSpinLock); endTask(_current->id); + while (1); //_current->state = DEAD; //sched(); } @@ -115,6 +119,15 @@ /*** $Log$ + Revision 1.9 2004/07/28 00:17:05 reddawg + Major: + Disconnected page 0x0 from the system... Unfortunately this broke many things + all of which have been fixed. This was good because nothing deferences NULL + any more. + + Things affected: + malloc,kmalloc,getfreepage,getfreevirtualpage,pagefault,fork,exec,ld,ld.so,exec,file + Revision 1.8 2004/07/27 07:09:38 reddawg Put in a test for 0x0