Files
qemu/hw/intc
Vitaly Kuznetsov 958a01dab8 ioapic: allow buggy guests mishandling level-triggered interrupts to make progress
It was found that Hyper-V 2016 on KVM in some configurations (q35 machine +
piix4-usb-uhci) hangs on boot. Root-cause was that one of Hyper-V
level-triggered interrupt handler performs EOI before fixing the cause of
the interrupt. This results in IOAPIC keep re-raising the level-triggered
interrupt after EOI because irq-line remains asserted.

Gory details: https://www.spinics.net/lists/kvm/msg184484.html
(the whole thread).

Turns out we were dealing with similar issues before; in-kernel IOAPIC
implementation has commit 184564efae4d ("kvm: ioapic: conditionally delay
irq delivery duringeoi broadcast") which describes a very similar issue.

Steal the idea from the above mentioned commit for IOAPIC implementation in
QEMU. SUCCESSIVE_IRQ_MAX_COUNT, delay and the comment are borrowed as well.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Message-Id: <20190402080215.10747-1-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-05-17 15:19:39 +02:00
..
2017-09-27 11:35:59 +01:00
2016-05-19 16:42:29 +02:00
2016-06-07 18:19:23 +03:00
2016-05-19 16:42:29 +02:00
2016-05-19 16:42:29 +02:00
2018-06-28 19:05:37 +02:00
2019-03-18 09:39:57 +01:00
2017-12-18 17:07:03 +03:00
2016-05-19 16:42:29 +02:00
2018-11-27 15:35:15 +01:00
2018-02-26 12:55:26 +01:00
2019-03-12 14:33:05 +11:00
2019-03-12 14:33:05 +11:00
2016-01-29 15:07:24 +00:00
2019-03-12 14:33:04 +11:00