diff options
Diffstat (limited to 'extras/recipes-kernel/linux/linux-omap/linus/0044-KVM-i8259-initialize-isr_ack.patch')
-rw-r--r-- | extras/recipes-kernel/linux/linux-omap/linus/0044-KVM-i8259-initialize-isr_ack.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/extras/recipes-kernel/linux/linux-omap/linus/0044-KVM-i8259-initialize-isr_ack.patch b/extras/recipes-kernel/linux/linux-omap/linus/0044-KVM-i8259-initialize-isr_ack.patch new file mode 100644 index 00000000..0f47f868 --- /dev/null +++ b/extras/recipes-kernel/linux/linux-omap/linus/0044-KVM-i8259-initialize-isr_ack.patch | |||
@@ -0,0 +1,32 @@ | |||
1 | From 1e144569ab9d311fa5e08efc9a7fb35853d697d9 Mon Sep 17 00:00:00 2001 | ||
2 | From: Avi Kivity <avi@redhat.com> | ||
3 | Date: Fri, 31 Dec 2010 10:52:15 +0200 | ||
4 | Subject: [PATCH 44/65] KVM: i8259: initialize isr_ack | ||
5 | |||
6 | isr_ack is never initialized. So, until the first PIC reset, interrupts | ||
7 | may fail to be injected. This can cause Windows XP to fail to boot, as | ||
8 | reported in the fallout from the fix to | ||
9 | https://bugzilla.kernel.org/show_bug.cgi?id=21962. | ||
10 | |||
11 | Reported-and-tested-by: Nicolas Prochazka <prochazka.nicolas@gmail.com> | ||
12 | Signed-off-by: Avi Kivity <avi@redhat.com> | ||
13 | --- | ||
14 | arch/x86/kvm/i8259.c | 2 ++ | ||
15 | 1 files changed, 2 insertions(+), 0 deletions(-) | ||
16 | |||
17 | diff --git a/arch/x86/kvm/i8259.c b/arch/x86/kvm/i8259.c | ||
18 | index f628234..3cece05 100644 | ||
19 | --- a/arch/x86/kvm/i8259.c | ||
20 | +++ b/arch/x86/kvm/i8259.c | ||
21 | @@ -575,6 +575,8 @@ struct kvm_pic *kvm_create_pic(struct kvm *kvm) | ||
22 | s->pics[1].elcr_mask = 0xde; | ||
23 | s->pics[0].pics_state = s; | ||
24 | s->pics[1].pics_state = s; | ||
25 | + s->pics[0].isr_ack = 0xff; | ||
26 | + s->pics[1].isr_ack = 0xff; | ||
27 | |||
28 | /* | ||
29 | * Initialize PIO device | ||
30 | -- | ||
31 | 1.6.6.1 | ||
32 | |||