projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
f536f11
)
ioapic: coalesce level interrupts
author
Paolo Bonzini
<pbonzini@redhat.com>
Thu, 30 Jul 2015 08:19:24 +0000
(10:19 +0200)
committer
Paolo Bonzini
<pbonzini@redhat.com>
Fri, 25 Sep 2015 10:04:42 +0000
(12:04 +0200)
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>
hw/intc/ioapic.c
patch
|
blob
|
history
diff --git
a/hw/intc/ioapic.c
b/hw/intc/ioapic.c
index b527932382677363299bcb8668b9f950a103bcf8..6ad3c66c1b3e6171b8f93c2caa496e58a65b28c4 100644
(file)
--- 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;
}