Re: [PATCH] KVM: i8259: initialize IMR to 0xff on reset

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux