mirror of https://gitee.com/openkylin/qemu.git
ioapic: coalesce level interrupts
If a level-triggered interrupt goes down and back up before the corresponding EOI, it should be coalesced. This fixes one testcase in kvm-unit-tests' ioapic.flat. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
f536f11242
commit
c5955a561c
|
@ -98,7 +98,9 @@ static void ioapic_set_irq(void *opaque, int vector, int level)
|
||||||
/* level triggered */
|
/* level triggered */
|
||||||
if (level) {
|
if (level) {
|
||||||
s->irr |= mask;
|
s->irr |= mask;
|
||||||
ioapic_service(s);
|
if (!(entry & IOAPIC_LVT_REMOTE_IRR)) {
|
||||||
|
ioapic_service(s);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
s->irr &= ~mask;
|
s->irr &= ~mask;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue