diff options
Diffstat (limited to 'meta/recipes-devtools/qemu/qemu/apic-fixup-fallthrough-to-PIC.patch')
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/apic-fixup-fallthrough-to-PIC.patch | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/meta/recipes-devtools/qemu/qemu/apic-fixup-fallthrough-to-PIC.patch b/meta/recipes-devtools/qemu/qemu/apic-fixup-fallthrough-to-PIC.patch deleted file mode 100644 index 9bbbc6f76d..0000000000 --- a/meta/recipes-devtools/qemu/qemu/apic-fixup-fallthrough-to-PIC.patch +++ /dev/null @@ -1,46 +0,0 @@ -From bef93bb81588b5323a52d2e1886f2a77b64a976b Mon Sep 17 00:00:00 2001 -From: Mark Asselstine <mark.asselstine@windriver.com> -Date: Tue, 26 Feb 2013 11:43:28 -0500 -Subject: [PATCH 03/18] apic: fixup fallthrough to PIC - -Commit 0e21e12bb311c4c1095d0269dc2ef81196ccb60a [Don't route PIC -interrupts through the local APIC if the local APIC config says so.] -missed a check to ensure the local APIC is enabled. Since if the local -APIC is disabled it doesn't matter what the local APIC config says. - -If this check isn't done and the guest has disabled the local APIC the -guest will receive a general protection fault, similar to what is seen -here: - -https://lists.gnu.org/archive/html/qemu-devel/2012-12/msg02304.html - -The GPF is caused by an attempt to service interrupt 0xffffffff. This -comes about since cpu_get_pic_interrupt() calls apic_accept_pic_intr() -(with the local APIC disabled apic_get_interrupt() returns -1). -apic_accept_pic_intr() returns 0 and thus the interrupt number which -is returned from cpu_get_pic_interrupt(), and which is attempted to be -serviced, is -1. - -Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> -Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2013-04/msg00878.html] -Signed-off-by: He Zhe <zhe.he@windriver.com> ---- - hw/intc/apic.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/intc/apic.c b/hw/intc/apic.c -index 45887d99..c5ae4087 100644 ---- a/hw/intc/apic.c -+++ b/hw/intc/apic.c -@@ -587,7 +587,7 @@ int apic_accept_pic_intr(DeviceState *dev) - APICCommonState *s = APIC_COMMON(dev); - uint32_t lvt0; - -- if (!s) -+ if (!s || !(s->spurious_vec & APIC_SV_ENABLE)) - return -1; - - lvt0 = s->lvt[APIC_LVT_LINT0]; --- -2.11.0 - |