Changeset 7bcfbbc in mainline for kernel/arch/amd64/src/interrupt.c
- Timestamp:
- 2007-04-07T23:30:59Z (18 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- ac88c93
- Parents:
- 7e58979
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/amd64/src/interrupt.c
r7e58979 r7bcfbbc 157 157 158 158 int inum = n - IVT_IRQBASE; 159 bool ack = false; 159 160 ASSERT(inum < IRQ_COUNT); 160 161 ASSERT((inum != IRQ_PIC_SPUR) && (inum != IRQ_PIC1)); 161 162 162 163 irq_t *irq = irq_dispatch_and_lock(inum); 163 164 if (irq) { … … 165 166 * The IRQ handler was found. 166 167 */ 168 169 if (irq->preack) { 170 /* Send EOI before processing the interrupt */ 171 trap_virtual_eoi(); 172 ack = true; 173 } 167 174 irq->handler(irq, irq->arg); 168 175 spinlock_unlock(&irq->lock); … … 175 182 #endif 176 183 } 177 trap_virtual_eoi(); 184 185 if (!ack) 186 trap_virtual_eoi(); 178 187 } 179 188
Note:
See TracChangeset
for help on using the changeset viewer.