From d15d3d573aa16ac4748d7c0291e582ed9d007485 Mon Sep 17 00:00:00 2001 From: Li Qiang Date: Mon, 24 Jun 2019 08:16:35 -0700 Subject: [PATCH] ioapic: clear irq_eoi when updating the ioapic redirect table entry irq_eoi is used to count the number of irq injected during eoi broadcast. It should be set to 0 when updating the ioapic's redirect table entry. Suggested-by: Peter Xu Signed-off-by: Li Qiang Reviewed-by: Peter Xu Message-Id: <20190624151635.22494-1-liq3ea@163.com> Signed-off-by: Paolo Bonzini --- hw/intc/ioapic.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/intc/ioapic.c b/hw/intc/ioapic.c index 7074489fdf..db9e518602 100644 --- a/hw/intc/ioapic.c +++ b/hw/intc/ioapic.c @@ -380,6 +380,7 @@ ioapic_mem_write(void *opaque, hwaddr addr, uint64_t val, /* restore RO bits */ s->ioredtbl[index] &= IOAPIC_RW_BITS; s->ioredtbl[index] |= ro_bits; + s->irq_eoi[index] = 0; ioapic_fix_edge_remote_irr(&s->ioredtbl[index]); ioapic_service(s); }