Commit 0ecf89aae327d545af6e10defd2315c97874cbd5

Authored by bellard
1 parent 28d34b82

level triggered IRQ fix (Steve Wormley)


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1078 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 3 additions and 1 deletions
hw/i8259.c
... ... @@ -188,7 +188,9 @@ static inline void pic_intack(PicState *s, int irq)
188 188 } else {
189 189 s->isr |= (1 << irq);
190 190 }
191   - s->irr &= ~(1 << irq);
  191 + /* We don't clear a level sensitive interrupt here */
  192 + if (!(s->elcr & (1 << irq)))
  193 + s->irr &= ~(1 << irq);
192 194 }
193 195  
194 196 int cpu_get_pic_interrupt(CPUState *env)
... ...