This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-changelog] [xen-unstable] [POWERPC][XEN] Detect bad spurious interr

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] [POWERPC][XEN] Detect bad spurious interrupt condition and panic instead of hang
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 19 Sep 2006 10:03:13 +0000
Delivery-date: Tue, 19 Sep 2006 03:04:40 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
# Node ID 3b045a00e70335b86d0101565825e98e298cbe8b
# Parent  3bd92176890c908ff51c42f8ef7ab22795e31b50
[POWERPC][XEN] Detect bad spurious interrupt condition and panic instead of hang

When handing off the MPIC from Xen to Dom0, which is the current yet
not permamnet design, the MPIC can cause the processor to assert an
external interrupt when none is available.  Rather then simply hang in
this condition we now panic so the user can see that there is indeed a
problem and identify it as this one.

This condition seems to be related to temperature and the probablity
of it occuring decreases if the machine is allowed to stay idle (not
in the Xen panic loop) for a minute or two.

Signed-off-by: Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
Signed-off-by: Hollis Blanchard <hollisb@xxxxxxxxxx>
 xen/arch/powerpc/external.c |    9 +++++++++
 1 files changed, 9 insertions(+)

diff -r 3bd92176890c -r 3b045a00e703 xen/arch/powerpc/external.c
--- a/xen/arch/powerpc/external.c       Fri Sep 08 12:28:49 2006 -0500
+++ b/xen/arch/powerpc/external.c       Tue Sep 12 06:47:22 2006 -0400
@@ -75,6 +75,7 @@ void do_external(struct cpu_user_regs *r
 void do_external(struct cpu_user_regs *regs)
     int vec;
+    static unsigned spur_count;
     BUG_ON(!(regs->msr & MSR_EE));
     BUG_ON(mfmsr() & MSR_EE);
@@ -87,6 +88,14 @@ void do_external(struct cpu_user_regs *r
         BUG_ON(mfmsr() & MSR_EE);
+        spur_count = 0;
+    } else {
+        ++spur_count;
+        if (spur_count > 100)
+            panic("Too many (%d) spurrious interrupts in a row\n"
+                  "  Known problem, please halt and let machine idle/cool "
+                  "  then reboot\n",
+                  100);

Xen-changelog mailing list

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] [POWERPC][XEN] Detect bad spurious interrupt condition and panic instead of hang, Xen patchbot-unstable <=