On 08/30/2010 04:36 PM, Paolo Bonzini wrote:
On 08/30/2010 11:20 AM, Avi Kivity wrote:
Otherwise, a wily interrupt can slip through while the guest isn't
prepared
for it (and while the irq base is zero).
Signed-off-by: Avi Kivity<avi@xxxxxxxxxx>
---
arch/x86/kvm/i8259.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86/kvm/i8259.c b/arch/x86/kvm/i8259.c
index 8d10c06..5de9ee0 100644
--- a/arch/x86/kvm/i8259.c
+++ b/arch/x86/kvm/i8259.c
@@ -275,7 +275,7 @@ void kvm_pic_reset(struct kvm_kpic_state *s)
s->last_irr = 0;
s->irr = 0;
- s->imr = 0;
+ s->imr = 0xff;
s->isr = 0;
s->isr_ack = 0xff;
s->priority_add = 0;
Sounds sane, but the datasheet says explicitly that upon reset "The
Interrupt Mask Register is cleared"... (FWIW, I checked because it
looked like QEMU and Xen also had the same behavior of setting IMR to
zero).
Hm, right.
Reading the spec, the correct approach is not to do a full reset on
ICW1(D4=1), instead just do what the spec says (which is different from
reset). I'll try it out.
--
error compiling committee.c: too many arguments to function
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html