summaryrefslogtreecommitdiff
path: root/trap.c
diff options
context:
space:
mode:
authorkaashoek <kaashoek>2006-06-28 16:35:03 +0000
committerkaashoek <kaashoek>2006-06-28 16:35:03 +0000
commitbd303ed06096395778c80558e013b64bb47b9e9c (patch)
tree4bcd3d7ae05c85f414c98037a7baef51455acc33 /trap.c
parentc41f1de5d41a527a3fa2d1e94215766130eac456 (diff)
downloadxv6-labs-bd303ed06096395778c80558e013b64bb47b9e9c.tar.gz
xv6-labs-bd303ed06096395778c80558e013b64bb47b9e9c.tar.bz2
xv6-labs-bd303ed06096395778c80558e013b64bb47b9e9c.zip
timer interrupts
Diffstat (limited to 'trap.c')
-rw-r--r--trap.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/trap.c b/trap.c
index cfa8a57..01c2f14 100644
--- a/trap.c
+++ b/trap.c
@@ -43,14 +43,15 @@ trap(struct Trapframe *tf)
return;
}
- cprintf("trap %d eip %x:%x\n", tf->tf_trapno, tf->tf_cs, tf->tf_eip);
-
- if(v == 32){
- // probably clock
+ if(v == (IRQ_OFFSET + IRQ_TIMER)){
+ curproc[cpu()]->tf = tf;
+ lapic_timerintr();
return;
}
- while(1)
- ;
+ cprintf("trap %d eip %x:%x\n", tf->tf_trapno, tf->tf_cs, tf->tf_eip);
+
// XXX probably ought to lgdt on trap return
+
+ return;
}