aboutsummaryrefslogtreecommitdiff
path: root/arch/sparc64/kernel/traps.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2006-02-18 17:06:28 -0800
committerDavid S. Miller <davem@sunset.davemloft.net>2006-03-20 01:13:40 -0800
commit04d74758eb7dce6dfb7d2101315827c267ffefc4 (patch)
tree18a90d84f5503eefc9af52ecd3bb1a09ae3fe6d0 /arch/sparc64/kernel/traps.c
parent24c523ecc667dfeb28ef969cfabc531709bfffb8 (diff)
[SPARC64]: Use KERN_EMERG in dump_tl1_traplog() and sun4v TLB errors.
We're about to seriously die in these cases so it is important that the messages make it to the console. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/traps.c')
-rw-r--r--arch/sparc64/kernel/traps.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/arch/sparc64/kernel/traps.c b/arch/sparc64/kernel/traps.c
index 5a157e92bfc..6d45867ee16 100644
--- a/arch/sparc64/kernel/traps.c
+++ b/arch/sparc64/kernel/traps.c
@@ -75,12 +75,12 @@ static void dump_tl1_traplog(struct tl1_traplog *p)
{
int i, limit;
- printk("TRAPLOG: Error at trap level 0x%lx, dumping track stack.\n",
- p->tl);
+ printk(KERN_EMERG "TRAPLOG: Error at trap level 0x%lx, "
+ "dumping track stack.\n", p->tl);
limit = (tlb_type == hypervisor) ? 2 : 4;
for (i = 0; i < 4; i++) {
- printk(KERN_CRIT
+ printk(KERN_EMERG
"TRAPLOG: Trap level %d TSTATE[%016lx] TPC[%016lx] "
"TNPC[%016lx] TT[%lx]\n",
i + 1,
@@ -1938,10 +1938,13 @@ void sun4v_itlb_error_report(struct pt_regs *regs, int tl)
if (tl > 1)
dump_tl1_traplog((struct tl1_traplog *)(regs + 1));
- printk("SUN4V-ITLB: Error at TPC[%lx], tl %d\n", regs->tpc, tl);
- printk("SUN4V-ITLB: vaddr[%lx] ctx[%lx] pte[%lx] error[%lx]\n",
+ printk(KERN_EMERG "SUN4V-ITLB: Error at TPC[%lx], tl %d\n",
+ regs->tpc, tl);
+ printk(KERN_EMERG "SUN4V-ITLB: vaddr[%lx] ctx[%lx] "
+ "pte[%lx] error[%lx]\n",
sun4v_err_itlb_vaddr, sun4v_err_itlb_ctx,
sun4v_err_itlb_pte, sun4v_err_itlb_error);
+
prom_halt();
}
@@ -1955,10 +1958,13 @@ void sun4v_dtlb_error_report(struct pt_regs *regs, int tl)
if (tl > 1)
dump_tl1_traplog((struct tl1_traplog *)(regs + 1));
- printk("SUN4V-DTLB: Error at TPC[%lx], tl %d\n", regs->tpc, tl);
- printk("SUN4V-DTLB: vaddr[%lx] ctx[%lx] pte[%lx] error[%lx]\n",
+ printk(KERN_EMERG "SUN4V-DTLB: Error at TPC[%lx], tl %d\n",
+ regs->tpc, tl);
+ printk(KERN_EMERG "SUN4V-DTLB: vaddr[%lx] ctx[%lx] "
+ "pte[%lx] error[%lx]\n",
sun4v_err_dtlb_vaddr, sun4v_err_dtlb_ctx,
sun4v_err_dtlb_pte, sun4v_err_dtlb_error);
+
prom_halt();
}