Rev 3880 | Rev 4132 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3880 | Rev 3906 | ||
|---|---|---|---|
| Line 264... | Line 264... | ||
| 264 | #endif |
264 | #endif |
| 265 | 265 | ||
| 266 | case INTERRUPT_TIMER: |
266 | case INTERRUPT_TIMER: |
| 267 | irq = irq_dispatch_and_lock(ivr.vector); |
267 | irq = irq_dispatch_and_lock(ivr.vector); |
| 268 | if (irq) { |
268 | if (irq) { |
| 269 | irq->handler(irq, irq->arg); |
269 | irq->handler(irq); |
| 270 | spinlock_unlock(&irq->lock); |
270 | spinlock_unlock(&irq->lock); |
| 271 | } else { |
271 | } else { |
| 272 | panic("Unhandled Internal Timer Interrupt (%d).", |
272 | panic("Unhandled Internal Timer Interrupt (%d).", |
| 273 | ivr.vector); |
273 | ivr.vector); |
| 274 | } |
274 | } |
| Line 281... | Line 281... | ||
| 281 | */ |
281 | */ |
| 282 | if (irq->preack) { |
282 | if (irq->preack) { |
| 283 | /* Send EOI before processing the interrupt */ |
283 | /* Send EOI before processing the interrupt */ |
| 284 | end_of_local_irq(); |
284 | end_of_local_irq(); |
| 285 | } |
285 | } |
| 286 | irq->handler(irq, irq->arg); |
286 | irq->handler(irq); |
| 287 | if (!irq->preack) |
287 | if (!irq->preack) |
| 288 | end_of_local_irq(); |
288 | end_of_local_irq(); |
| 289 | spinlock_unlock(&irq->lock); |
289 | spinlock_unlock(&irq->lock); |
| 290 | } else { |
290 | } else { |
| 291 | /* |
291 | /* |