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 */
|
||||
if (level) {
|
||||
s->irr |= mask;
|
||||
ioapic_service(s);
|
||||
if (!(entry & IOAPIC_LVT_REMOTE_IRR)) {
|
||||
ioapic_service(s);
|
||||
}
|
||||
} else {
|
||||
s->irr &= ~mask;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user