diff --git a/src/sys/sys/idt.c b/src/sys/sys/idt.c index 17db359..53189c3 100644 --- a/src/sys/sys/idt.c +++ b/src/sys/sys/idt.c @@ -166,41 +166,24 @@ /* Null Intterupt Descriptor */ -void -intNull() -{ +void intNull() { kprintf("Woot Invalid Interrupt[%i]\n",_current->id); - - /* - * freeProcessPages(_current->id); setTaskStatus(_current->id, EXITING); - * _current->status = EMPTY; sched(); - */ - _current->state = DEAD; - sched(); - while (1); - return; -} + endTask(_current->id); + schedYield(); + } void _int0() { kprintf("int0: Divide-by-Zero\n"); + endTask(_current->id); + schedYield(); + } - /* - * freeProcessPages(_current->id); setTaskStatus(_current->id, EXITING); - * _current->status = EMPTY; schede(); - */ - while (1); -} -void -_int1() -{ +void _int1() { kprintf("int1: Debug exception\n"); + endTask(_current->id); + schedYield(); + } - /* - * freeProcessPages(_current->id); setTaskStatus(_current->id, EXITING); - * _current->status = EMPTY; sched(); - */ - while (1); -} void _int2() { kprintf("int2: unknown error\n"); endTask(_current->id); @@ -225,52 +208,41 @@ schedYield(); } -void -_int6() -{ +void _int6() { kprintf("int6: Invalid opcode!\n"); + endTask(_current->id); + schedYield(); + } - /* - * freeProcessPages(_current->id); setTaskStatus(_current->id, EXITING); - * _current->status = EMPTY; sched(); - */ - while (1); -} - -void -_int8() -{ +void _int8() { kprintf("int8: Double Fault!\n"); - while (1); -} + endTask(_current->id); + schedYield(); + } -void -_int9() -{ +void _int9() { kprintf("int9: Coprocessor Segment Overrun!\n"); - while (1); -} + endTask(_current->id); + schedYield(); + } -void -_int10() -{ +void _int10() { kprintf("int10: Invalid TSS!\n"); - while (1); -} + endTask(_current->id); + schedYield(); + } -void -_int11() -{ +void _int11() { kprintf("int11: Segment Not Present!\n"); - while (1); -} + endTask(_current->id); + schedYield(); + } -void -_int12() -{ +void _int12() { kprintf("int12: Stack-Segment Fault!\n"); - while (1); -} + endTask(_current->id); + schedYield(); + } /* * void _int13() { kprintf("int13: General Protection Fault!\n"); @@ -491,6 +463,9 @@ /*** $Log$ + Revision 1.6 2004/05/21 16:00:39 reddawg + We now end faulted tasks instead of holding them + Revision 1.5 2004/05/21 13:33:24 reddawg Went from 200MS per quantum to 25MS