diff options
author | rtm <rtm> | 2006-06-13 22:08:20 +0000 |
---|---|---|
committer | rtm <rtm> | 2006-06-13 22:08:20 +0000 |
commit | cb83c71628378bc0e295dd71bf6641379fbcdf37 (patch) | |
tree | dfad6b06b7cb267bfe587e975e8f30e7427d21db /trap.c | |
parent | 84eb544b23b17fed07b8c33142d48fdceffce10c (diff) | |
download | xv6-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.c | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -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 } |