KVM: ioapic: Record edge-triggered interrupts delivery status
authorWincy Van <fanwenyi0529@gmail.com>
Wed, 24 Dec 2014 03:14:29 +0000 (11:14 +0800)
committerMarcelo Tosatti <mtosatti@redhat.com>
Tue, 10 Mar 2015 13:37:43 +0000 (10:37 -0300)
commit5bda6eed2e3626f40f2602a8fed72007f1fafaf8
treeddea5207022bd6dbf8e974dcbb6673374bc05106
parentae548c5c806497b3495019f550f93dee03f6c15a
KVM: ioapic: Record edge-triggered interrupts delivery status

This patch fixes the bug discussed in
https://www.mail-archive.com/kvm@vger.kernel.org/msg109813.html

This patch uses a new field named irr_delivered to record the
delivery status of edge-triggered interrupts, and clears the
delivered interrupts in kvm_get_ioapic. So it has the same effect
of commit 0bc830b05c667218d703f2026ec866c49df974fc
("KVM: ioapic: clear IRR for edge-triggered interrupts at delivery")
while avoids the bug of Windows guests.

Signed-off-by: Wincy Van <fanwenyi0529@gmail.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
arch/x86/kvm/ioapic.c
arch/x86/kvm/ioapic.h