Changeset f5e39a32 in mainline for kernel/arch/ppc32/src/interrupt.c
- Timestamp:
- 2006-10-17T15:19:16Z (18 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 79f30e4f
- Parents:
- 58a6d997
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ppc32/src/interrupt.c
r58a6d997 rf5e39a32 33 33 */ 34 34 35 #include <ddi/irq.h> 35 36 #include <interrupt.h> 36 37 #include <arch/interrupt.h> … … 41 42 #include <arch/drivers/pic.h> 42 43 #include <arch/mm/tlb.h> 44 #include <print.h> 43 45 44 46 … … 57 59 { 58 60 int inum; 59 61 60 62 while ((inum = pic_get_pending()) != -1) { 61 exc_dispatch(inum + INT_OFFSET, istate); 63 irq_t *irq = irq_dispatch_and_lock(inum); 64 if (irq) { 65 /* 66 * The IRQ handler was found. 67 */ 68 irq->handler(irq, irq->arg); 69 spinlock_unlock(&irq->lock); 70 } else { 71 /* 72 * Spurious interrupt. 73 */ 74 #ifdef CONFIG_DEBUG 75 printf("cpu%d: spurious interrupt (inum=%d)\n", CPU->id, inum); 76 #endif 77 } 62 78 pic_ack_interrupt(inum); 63 79 }
Note:
See TracChangeset
for help on using the changeset viewer.