diff options
author | Avi Kivity <avi@redhat.com> | 2010-12-31 10:52:15 +0200 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2011-01-02 11:52:48 +0200 |
commit | d0dfc6b74a0c6e9ee46b62713256e2b025244d3c (patch) | |
tree | a065d54c18eaa687762e032dd46c28d4affff3b1 /arch | |
parent | 649497d1a3676020802ebba04a3d9bb31253adb5 (diff) | |
download | linux-3.10-d0dfc6b74a0c6e9ee46b62713256e2b025244d3c.tar.gz linux-3.10-d0dfc6b74a0c6e9ee46b62713256e2b025244d3c.tar.bz2 linux-3.10-d0dfc6b74a0c6e9ee46b62713256e2b025244d3c.zip |
KVM: i8259: initialize isr_ack
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kvm/i8259.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/kvm/i8259.c b/arch/x86/kvm/i8259.c index f628234fbec..3cece05e4ac 100644 --- a/arch/x86/kvm/i8259.c +++ b/arch/x86/kvm/i8259.c @@ -575,6 +575,8 @@ struct kvm_pic *kvm_create_pic(struct kvm *kvm) s->pics[1].elcr_mask = 0xde; 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 |