diff --git a/src/sys/kernel/kpanic.c b/src/sys/kernel/kpanic.c index 44d1f4d..bd191ba 100644 --- a/src/sys/kernel/kpanic.c +++ b/src/sys/kernel/kpanic.c @@ -51,12 +51,16 @@ kprintf("kPanic: %s",buf); /* Halt The System */ + asm("cli"); while (1) asm("hlt"); } /*** $Log$ + Revision 1.6 2004/07/16 04:13:01 reddawg + Clean + Revision 1.5 2004/06/29 11:41:44 reddawg Fixed some global variables diff --git a/src/sys/sys/idt.c b/src/sys/sys/idt.c index 68bb6d4..330a5d6 100644 --- a/src/sys/sys/idt.c +++ b/src/sys/sys/idt.c @@ -84,20 +84,20 @@ ); /* Set up the basic vectors for the reserved ints */ - setVector(_int0, 0, dPresent + dInt + dDpl3); - setVector(_int1, 1, dPresent + dInt + dDpl3); - setVector(_int2, 2, dPresent + dInt + dDpl3); - setVector(_int3, 3, dPresent + dInt + dDpl3); - setVector(_int4, 4, dPresent + dInt + dDpl3); - setVector(_int5, 5, dPresent + dInt + dDpl3); - setVector(_int6, 6, dPresent + dInt + dDpl3); - setVector(_int7,7,dPresent + dInt + dDpl3); - setTaskVector(8,dPresent + dTask + dDpl3, 0x40); - setVector(_int9, 9, dPresent + dInt + dDpl3); - setVector(_int10, 10, dPresent + dInt + dDpl3); - setVector(_int11, 11, dPresent + dInt + dDpl3); - setVector(_int12, 12, dPresent + dInt + dDpl3); - setTaskVector(13, dPresent + dTask + dDpl3, 0x38); + setVector(_int0, 0, dPresent + dInt + dDpl0); + setVector(_int1, 1, dPresent + dInt + dDpl0); + setVector(_int2, 2, dPresent + dInt + dDpl0); + setVector(_int3, 3, dPresent + dInt + dDpl0); + setVector(_int4, 4, dPresent + dInt + dDpl0); + setVector(_int5, 5, dPresent + dInt + dDpl0); + setVector(_int6, 6, dPresent + dInt + dDpl0); + setVector(_int7,7,dPresent + dInt + dDpl0); + setTaskVector(8,dPresent + dTask + dDpl0, 0x40); + setVector(_int9, 9, dPresent + dInt + dDpl0); + setVector(_int10, 10, dPresent + dInt + dDpl0); + setVector(_int11, 11, dPresent + dInt + dDpl0); + setVector(_int12, 12, dPresent + dInt + dDpl0); + setTaskVector(13, dPresent + dTask + dDpl0, 0x38); setVector(_vmm_pageFault, 14, dPresent + dInt + dDpl0); setVector(_sysCall, 128, dPresent + dTrap + dDpl3); setVector(_sysCallNew, 0x90, dPresent + dTrap + dDpl3); @@ -183,57 +183,57 @@ /* Null Intterupt Descriptor */ void intNull() { - kprintf("Woot Invalid Interrupt[%i]\n",_current->id); + kpanic("Invalid Interrupt[%i]\n",_current->id); while (1); endTask(_current->id); schedYield(); } void _int0() { - kprintf("int0: Divide-by-Zero [%i]\n",_current->id); + kpanic("int0: Divide-by-Zero [%i]\n",_current->id); endTask(_current->id); schedYield(); } void _int1() { - kprintf("int1: Debug exception [%i]\n",_current->id); + kpanic("int1: Debug exception [%i]\n",_current->id); endTask(_current->id); schedYield(); } void _int2() { - kprintf("int2: unknown error [%i]\n",_current->id); + kpanic("int2: unknown error [%i]\n",_current->id); endTask(_current->id); schedYield(); } void _int3() { - kprintf("int3: Breakpoint [%i]\n",_current->id); + kpanic("int3: Breakpoint [%i]\n",_current->id); endTask(_current->id); schedYield(); } void _int4(){ - kprintf("int4: Overflow [%i]\n",_current->id); + kpanic("int4: Overflow [%i]\n",_current->id); endTask(_current->id); schedYield(); } void _int5() { - kprintf("int5: Bounds check [%i]\n",_current->id); + kpanic("int5: Bounds check [%i]\n",_current->id); endTask(_current->id); schedYield(); } void _int6() { - kprintf("int6: Invalid opcode! [%i]\n",_current->id); + kpanic("int6: Invalid opcode! [%i]\n",_current->id); endTask(_current->id); schedYield(); } void _int8() { struct tssStruct *sfTSS = (struct tssStruct *)0x6200; - kprintf("int8: Double Fault! [%i]\n",_current->id); + kpanic("int8: Double Fault! [%i]\n",_current->id); sfTSS->cr3 = (unsigned int)kernelPageDirectory; sfTSS->eip = (unsigned int)&_int8; sfTSS->eflags = 0x206; @@ -250,25 +250,25 @@ } void _int9() { - kprintf("int9: Coprocessor Segment Overrun! [%i]\n",_current->id); + kpanic("int9: Coprocessor Segment Overrun! [%i]\n",_current->id); endTask(_current->id); schedYield(); } void _int10() { - kprintf("int10: Invalid TSS! [%i]\n",_current->id); + kpanic("int10: Invalid TSS! [%i]\n",_current->id); endTask(_current->id); schedYield(); } void _int11() { - kprintf("int11: Segment Not Present! [%i]\n",_current->id); + kpanic("int11: Segment Not Present! [%i]\n",_current->id); endTask(_current->id); schedYield(); } void _int12() { - kprintf("int12: Stack-Segment Fault! [%i]\n",_current->id); + kpanic("int12: Stack-Segment Fault! [%i]\n",_current->id); endTask(_current->id); schedYield(); } @@ -451,6 +451,9 @@ /*** $Log$ + Revision 1.25 2004/07/29 21:32:16 reddawg + My quick lunchs breaks worth of updates.... + Revision 1.24 2004/07/28 22:23:02 reddawg make sure it still works before I goto bed