aboutsummaryrefslogtreecommitdiff
path: root/pk/handlers.c
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@s144.Millennium.Berkeley.EDU>2011-04-16 19:46:00 -0700
committerAndrew Waterman <waterman@s144.Millennium.Berkeley.EDU>2011-04-16 19:46:00 -0700
commit0be1f5eb1b1ff0c31036c9f1b7efeedee7fe4909 (patch)
treee5b6e4d5a1238c32c84f59638c8ac88f81ebcdee /pk/handlers.c
parent6b9ea8b8e0d3bdf66727a2bc3e9dce72a77fa514 (diff)
downloadpk-0be1f5eb1b1ff0c31036c9f1b7efeedee7fe4909.zip
pk-0be1f5eb1b1ff0c31036c9f1b7efeedee7fe4909.tar.gz
pk-0be1f5eb1b1ff0c31036c9f1b7efeedee7fe4909.tar.bz2
[pk] fixed timer interrupt handler, etc.
Diffstat (limited to 'pk/handlers.c')
-rw-r--r--pk/handlers.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/pk/handlers.c b/pk/handlers.c
index 597c675..c9b6a96 100644
--- a/pk/handlers.c
+++ b/pk/handlers.c
@@ -101,10 +101,13 @@ static void handle_interrupt(trapframe_t* tf)
for(int i = 0; interrupts; interrupts >>= 1, i++)
{
- if(i == TIMER_IRQ)
- handle_timer_interrupt(tf);
- else
- handle_bad_interrupt(tf,i);
+ if(interrupts & 1)
+ {
+ if(i == TIMER_IRQ)
+ handle_timer_interrupt(tf);
+ else
+ handle_bad_interrupt(tf,i);
+ }
}
}