summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2011-03-31 11:58:55 -0700
committerAK <andi@firstfloor.org>2011-03-31 11:58:55 -0700
commita0e696446fddddabf00c57e1db5f38b929c3e713 (patch)
tree038b5be21a2916ae71c9053a6bf0fe2a9b82c643
parent8295c17f384a1e50b56cacbdc0d91e1c21c1b953 (diff)
KVM: i8259: initialize isr_ack
commit a0272630bb594b4eac03a79e77957df7dad8eade upstream. isr_ack is never initialized. So, until the first PIC reset, interrupts may fail to be injected. This can cause Windows XP to fail to boot, as reported in the fallout from the fix to https://bugzilla.kernel.org/show_bug.cgi?id=21962. Reported-and-tested-by: Nicolas Prochazka <prochazka.nicolas@gmail.com> Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Andi Kleen <ak@linux.intel.com>
-rw-r--r--arch/x86/kvm/i8259.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/kvm/i8259.c b/arch/x86/kvm/i8259.c
index 93825ff3338f..8a3324668cac 100644
--- a/arch/x86/kvm/i8259.c
+++ b/arch/x86/kvm/i8259.c
@@ -553,6 +553,8 @@ struct kvm_pic *kvm_create_pic(struct kvm *kvm)
s->irq_request_opaque = kvm;
s->pics[0].pics_state = s;
s->pics[1].pics_state = s;
+ s->pics[0].isr_ack = 0xff;
+ s->pics[1].isr_ack = 0xff;
/*
* Initialize PIO device