summaryrefslogtreecommitdiff
path: root/trap.c
diff options
context:
space:
mode:
authorrtm <rtm>2006-06-13 22:08:20 +0000
committerrtm <rtm>2006-06-13 22:08:20 +0000
commitcb83c71628378bc0e295dd71bf6641379fbcdf37 (patch)
treedfad6b06b7cb267bfe587e975e8f30e7427d21db /trap.c
parent84eb544b23b17fed07b8c33142d48fdceffce10c (diff)
downloadxv6-labs-cb83c71628378bc0e295dd71bf6641379fbcdf37.tar.gz
xv6-labs-cb83c71628378bc0e295dd71bf6641379fbcdf37.tar.bz2
xv6-labs-cb83c71628378bc0e295dd71bf6641379fbcdf37.zip
fix some trap bugs
Diffstat (limited to 'trap.c')
-rw-r--r--trap.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/trap.c b/trap.c
index 9d867fe..ace4c95 100644
--- a/trap.c
+++ b/trap.c
@@ -12,11 +12,15 @@ extern unsigned vectors[]; /* vectors.S, array of 256 entry point addresses */
extern void trapenter();
extern void trapenter1();
+
+int xx;
+
void
tinit()
{
int i;
+ xx = 0;
for(i = 0; i < 256; i++){
SETGATE(idt[i], 1, SEG_KCODE << 3, vectors[i], 3);
}
@@ -27,8 +31,10 @@ void
trap(struct Trapframe *tf)
{
/* which process are we running? */
- cprintf("trap %d tf %x\n", tf->tf_trapno, tf);
- while(1)
- ;
+ if(xx < 10)
+ cprintf("%d\n", tf->tf_trapno);
+ xx++;
+ //while(1)
+ //;
// XXX probably ought to lgdt on trap return
}