diff options
-rw-r--r-- | hw/intc/ioapic.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/intc/ioapic.c b/hw/intc/ioapic.c index b527932..6ad3c66 100644 --- a/hw/intc/ioapic.c +++ b/hw/intc/ioapic.c @@ -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; } |