Blob Blame History Raw
--- crash-7.0.9/ppc64.c.orig
+++ crash-7.0.9/ppc64.c
@@ -1,7 +1,7 @@
 /* ppc64.c -- core analysis suite
  *
- * Copyright (C) 2004-2014 David Anderson
- * Copyright (C) 2004-2014 Red Hat, Inc. All rights reserved.
+ * Copyright (C) 2004-2015 David Anderson
+ * Copyright (C) 2004-2015 Red Hat, Inc. All rights reserved.
  * Copyright (C) 2004, 2006 Haren Myneni, IBM Corporation
  *
  * This program is free software; you can redistribute it and/or modify
@@ -414,7 +414,7 @@ ppc64_init(int when)
 		break;
 
 	case LOG_ONLY:
-		machdep->kvbase = kt->vmcoreinfo._stext_SYMBOL;
+		machdep->identity_map_base = kt->vmcoreinfo._stext_SYMBOL;
 		break;
 	}
 }
@@ -1898,8 +1898,8 @@ ppc64_print_regs(struct ppc64_pt_regs *r
 	int i;
 
         /* print out the gprs... */
-        for(i=0; i<32; i++) {
-                if(!(i % 3))
+        for (i=0; i<32; i++) {
+                if (i && !(i % 3))
                         fprintf(fp, "\n");
 
                 fprintf(fp, " R%d:%s %016lx   ", i,
@@ -1940,9 +1940,8 @@ ppc64_print_eframe(char *efrm_str, struc
 	if (BT_REFERENCE_CHECK(bt))
 		return;
 
-	fprintf(fp, " %s  [%lx] exception frame:", efrm_str, regs->trap);
+	fprintf(fp, " %s  [%lx] exception frame:\n", efrm_str, regs->trap);
 	ppc64_print_regs(regs);
-	fprintf(fp, "\n");
 }
 
 /*
@@ -1996,8 +1995,6 @@ ppc64_kdump_stack_frame(struct bt_info *
 		fprintf(fp, " LR  [%016lx] %s\n", pt_regs->link,
 			closest_symbol(pt_regs->link));
 
-	fprintf(fp, "\n");
-
 	return TRUE;
 }
 
@@ -2008,7 +2005,7 @@ static int
 ppc64_get_dumpfile_stack_frame(struct bt_info *bt_in, ulong *nip, ulong *ksp)
 {
 	int panic_task;
-	int i, panic;
+	int i;
 	char *sym;
 	ulong *up;
 	struct bt_info bt_local, *bt;
@@ -2092,10 +2089,8 @@ ppc64_get_dumpfile_stack_frame(struct bt
 			fprintf(fp, "Could not find SP for task %0lx\n",
 				bt->task);
 		}
-		return TRUE;
 	}
 
-	panic = FALSE;
 	/*
 	 * Check the process stack first. We are scanning stack for only
 	 * panic task. Even though we have dumping CPU's regs, we will be
@@ -2112,8 +2107,12 @@ retry:
                 if (STREQ(sym, ".netconsole_netdump") || 
 			STREQ(sym, ".netpoll_start_netdump") ||
 		 	STREQ(sym, ".start_disk_dump") ||
+		 	STREQ(sym, "crash_kexec") ||
+			STREQ(sym, "crash_fadump") ||
+		 	STREQ(sym, "crash_ipi_callback") ||
 		 	STREQ(sym, ".crash_kexec") ||
 			STREQ(sym, ".crash_fadump") ||
+		 	STREQ(sym, ".crash_ipi_callback") ||
 			STREQ(sym, ".disk_dump")) {
                         *nip = *up;
                         *ksp = bt->stackbase + 
@@ -2122,9 +2121,6 @@ retry:
                 }
 	}
 
-	if (panic) 
-		return TRUE;
-	
 	bt->flags &= ~(BT_HARDIRQ|BT_SOFTIRQ);
 
 	if (check_hardirq &&