From: rsc Date: Thu, 27 Sep 2007 19:35:25 +0000 (+0000) Subject: now spllo is okay X-Git-Url: https://git.devinivas.org/?a=commitdiff_plain;h=8c8b748a2f0f10188c1a58c529239fff3a3b1b01;p=cs3210-lab0.git now spllo is okay --- diff --git a/trap.c b/trap.c index 9e8d09a..7ef32ff 100644 --- a/trap.c +++ b/trap.c @@ -83,14 +83,8 @@ trap(struct trapframe *tf) cp->pid, cp->name, tf->trapno, tf->err, cpu(), tf->eip); cp->killed = 1; } - - // Undo splhi but do not enable interrupts. - // If you change this to spllo() you can get a - // triple fault by just typing too fast at the prompt. - // An interrupt stops us right here, and when that - // interrupt tries to return, somehow the segment - // registers are all invalid. - --cpus[cpu()].nsplhi; + + spllo(); // Force process exit if it has been killed and is in user space. // (If it is still executing in the kernel, let it keep running