Changeset 7688b5d in mainline for kernel/arch/mips32/src/exception.c
- Timestamp:
- 2006-10-18T09:54:13Z (18 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 6fb30a1
- Parents:
- 19de05f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/mips32/src/exception.c
r19de05f r7688b5d 46 46 #include <func.h> 47 47 #include <console/kconsole.h> 48 #include <ddi/irq.h> 48 49 #include <arch/debugger.h> 49 50 … … 146 147 cause = (cp0_cause_read() >> 8) &0xff; 147 148 148 for (i = 0; i < 8; i++) 149 if (cause & (1 << i)) 150 exc_dispatch(i+INT_OFFSET, istate); 149 for (i = 0; i < 8; i++) { 150 if (cause & (1 << i)) { 151 irq_t *irq = irq_dispatch_and_lock(i); 152 if (irq) { 153 /* 154 * The IRQ handler was found. 155 */ 156 irq->handler(irq, irq->arg); 157 spinlock_unlock(&irq->lock); 158 } else { 159 /* 160 * Spurious interrupt. 161 */ 162 #ifdef CONFIG_DEBUG 163 printf("cpu%d: spurious interrupt (inum=%d)\n", CPU->id, i); 164 #endif 165 } 166 } 167 } 151 168 } 152 169 … … 162 179 163 180 /* Clear exception table */ 164 for (i =0;i < IVT_ITEMS; i++)181 for (i = 0; i < IVT_ITEMS; i++) 165 182 exc_register(i, "undef", (iroutine) unhandled_exception); 183 166 184 exc_register(EXC_Bp, "bkpoint", (iroutine) breakpoint_exception); 167 185 exc_register(EXC_RI, "resinstr", (iroutine) reserved_instr_exception);
Note:
See TracChangeset
for help on using the changeset viewer.