WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ppc-devel

Hang on boot Was: [XenPPC] [xenppc-unstable] [POWERPC][XEN] Detect bad s

To: xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
Subject: Hang on boot Was: [XenPPC] [xenppc-unstable] [POWERPC][XEN] Detect bad spurious interrupt condition and panic instead of hang
From: Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
Date: Tue, 12 Sep 2006 08:38:22 -0400
Delivery-date: Tue, 12 Sep 2006 05:38:24 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <E1GN5qa-0000vF-8u@xxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-ppc-devel-request@lists.xensource.com?subject=help>
List-id: Xen PPC development <xen-ppc-devel.lists.xensource.com>
List-post: <mailto:xen-ppc-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=unsubscribe>
References: <E1GN5qa-0000vF-8u@xxxxxxxxxxxxxxxxxxxxx>
Sender: xen-ppc-devel-bounces@xxxxxxxxxxxxxxxxxxx
Sometimes when Xen is booted and we let Linux init the MPIC for "the second time" Xen could end up in a loop where the CPU is constantly being interrupted by the MPIC.

Because of console buffering, the last message you see is some message from early kernel boot.
Anyway.. we detect this now and you see a panic.

Yes, I believe, it has something to do with temperature.
Hopefully when we move to a Xen only MPIc model this issue will be resolved.

-JX
On Sep 12, 2006, at 6:50 AM, Xen patchbot-xenppc-unstable wrote:

# HG changeset patch
# User Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
# Node ID 5495e4525844250d5f359bd4d3bda8787e817711
# Parent  a79b3252bbe46a13d91586081e7f6be278b07126
[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>
---
 xen/arch/powerpc/external.c |    9 +++++++++
 1 files changed, 9 insertions(+)

diff -r a79b3252bbe4 -r 5495e4525844 xen/arch/powerpc/external.c
--- a/xen/arch/powerpc/external.c       Fri Sep 08 12:37:27 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
         do_IRQ(regs);

         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-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel


_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel