summaryrefslogtreecommitdiff
path: root/trap.c
diff options
context:
space:
mode:
Diffstat (limited to 'trap.c')
-rw-r--r--trap.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/trap.c b/trap.c
index ef40f7e..bbb2500 100644
--- a/trap.c
+++ b/trap.c
@@ -79,12 +79,16 @@ trap(struct trapframe *tf)
return;
}
- cprintf("trap %d from cpu %d eip %x\n", v, cpu(), tf->eip);
+ if(v == (IRQ_OFFSET + IRQ_SPURIOUS)){
+ cprintf("spurious interrupt from cpu %d eip %x\n", cpu(), tf->eip);
+ return; // no eoi for this one.
+ }
+
if(curproc[cpu()]) {
- cprintf("pid %d\n", curproc[cpu()]->pid);
+ cprintf("pid %d: unhandled trap %d on cpu %d eip %x---terminate process\n",
+ curproc[cpu()]->pid, v, cpu(), tf->eip);
proc_exit();
}
- // panic("trap");
-
- return;
+ cprintf("unexpected trap %d from cpu %d eip %x\n", v, cpu(), tf->eip);
+ panic("trap");
}