summaryrefslogtreecommitdiff
path: root/trap.c
diff options
context:
space:
mode:
authorrtm <rtm>2006-07-12 15:35:33 +0000
committerrtm <rtm>2006-07-12 15:35:33 +0000
commit6eb6f10c5668bc2bdf5e561e0060e7e917ed55c1 (patch)
tree8245cefe266e75ca9836cbde2f86114cb6222fe4 /trap.c
parent8148b6ee535b85e97f3b5f3a850b70fdfbbcaf2d (diff)
downloadxv6-labs-6eb6f10c5668bc2bdf5e561e0060e7e917ed55c1.tar.gz
xv6-labs-6eb6f10c5668bc2bdf5e561e0060e7e917ed55c1.tar.bz2
xv6-labs-6eb6f10c5668bc2bdf5e561e0060e7e917ed55c1.zip
passes both usertests
exit had acquire where I meant release swtch now checks that you hold no locks
Diffstat (limited to 'trap.c')
-rw-r--r--trap.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/trap.c b/trap.c
index 862225b..6f5409b 100644
--- a/trap.c
+++ b/trap.c
@@ -62,6 +62,9 @@ trap(struct Trapframe *tf)
struct proc *cp = curproc[cpu()];
lapic_timerintr();
if(cp){
+ if(cpus[cpu()].clis != 0)
+ panic("trap clis > 0");
+ cpus[cpu()].clis += 1;
sti();
if(cp->killed)
proc_exit();
@@ -69,6 +72,7 @@ trap(struct Trapframe *tf)
}
return;
}
+
if(v == (IRQ_OFFSET + IRQ_IDE)){
ide_intr();
return;