Revision 78ef2b69 hw/i8259.c
b/hw/i8259.c | ||
---|---|---|
228 | 228 |
|
229 | 229 |
irq = pic_get_irq(&s->pics[0]); |
230 | 230 |
if (irq >= 0) { |
231 |
pic_intack(&s->pics[0], irq); |
|
232 | 231 |
if (irq == 2) { |
233 | 232 |
irq2 = pic_get_irq(&s->pics[1]); |
234 | 233 |
if (irq2 >= 0) { |
... | ... | |
238 | 237 |
irq2 = 7; |
239 | 238 |
} |
240 | 239 |
intno = s->pics[1].irq_base + irq2; |
241 |
#if defined(DEBUG_PIC) || defined(DEBUG_IRQ_LATENCY) |
|
242 |
irq = irq2 + 8; |
|
243 |
#endif |
|
244 | 240 |
} else { |
245 | 241 |
intno = s->pics[0].irq_base + irq; |
246 | 242 |
} |
243 |
pic_intack(&s->pics[0], irq); |
|
247 | 244 |
} else { |
248 | 245 |
/* spurious IRQ on host controller */ |
249 | 246 |
irq = 7; |
... | ... | |
251 | 248 |
} |
252 | 249 |
pic_update_irq(s); |
253 | 250 |
|
251 |
#if defined(DEBUG_PIC) || defined(DEBUG_IRQ_LATENCY) |
|
252 |
if (irq == 2) { |
|
253 |
irq = irq2 + 8; |
|
254 |
} |
|
255 |
#endif |
|
254 | 256 |
#ifdef DEBUG_IRQ_LATENCY |
255 | 257 |
printf("IRQ%d latency=%0.3fus\n", |
256 | 258 |
irq, |
Also available in: Unified diff