level triggered IRQ fix (Steve Wormley)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1078 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
bellard 2004-09-29 21:55:52 +00:00
parent 28d34b8246
commit 0ecf89aae3

View File

@ -188,7 +188,9 @@ static inline void pic_intack(PicState *s, int irq)
} else {
s->isr |= (1 << irq);
}
s->irr &= ~(1 << irq);
/* We don't clear a level sensitive interrupt here */
if (!(s->elcr & (1 << irq)))
s->irr &= ~(1 << irq);
}
int cpu_get_pic_interrupt(CPUState *env)