--- 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 &&