Changeset fd67c9f in mainline for kernel/arch/amd64/src/interrupt.c
- Timestamp:
- 2019-04-06T08:10:27Z (5 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 534bcdf
- Parents:
- ef56a43
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/amd64/src/interrupt.c
ref56a43 rfd67c9f 172 172 bool ack = false; 173 173 assert(inum < IRQ_COUNT); 174 assert(inum != IRQ_PIC0_SPUR);175 assert(inum != IRQ_PIC1_SPUR);176 174 assert(inum != IRQ_PIC1); 177 175 … … 190 188 irq_spinlock_unlock(&irq->lock, false); 191 189 } else { 192 /*193 * Spurious interrupt.194 */195 190 #ifdef CONFIG_DEBUG 196 log(LF_ARCH, LVL_DEBUG, "cpu%u: spurious interrupt (inum=%u)",197 CPU->id,inum);191 log(LF_ARCH, LVL_DEBUG, "cpu%u: unhandled IRQ %u", CPU->id, 192 inum); 198 193 #endif 199 194 } … … 205 200 static void pic_spurious(unsigned int n, istate_t *istate) 206 201 { 207 /* 208 * XXX: Examine ISR to figure out whether this is indeed a spurious 209 * or actual IRQ. 210 */ 202 unsigned int inum = n - IVT_IRQBASE; 203 if (!pic_is_spurious(inum)) { 204 /* This is actually not a spurious IRQ, so proceed as usual. */ 205 irq_interrupt(n, istate); 206 return; 207 } 208 pic_handle_spurious(n); 211 209 #ifdef CONFIG_DEBUG 212 log(LF_ARCH, LVL_DEBUG, "cpu%u: PIC spurious interrupt", CPU->id); 210 log(LF_ARCH, LVL_DEBUG, "cpu%u: PIC spurious interrupt %u", CPU->id, 211 inum); 213 212 #endif 214 213 }
Note:
See TracChangeset
for help on using the changeset viewer.