|
@@ -207,8 +207,7 @@ static __init void pas_init_IRQ(void)
|
|
|
break;
|
|
|
}
|
|
|
if (!mpic_node) {
|
|
|
- printk(KERN_ERR
|
|
|
- "Failed to locate the MPIC interrupt controller\n");
|
|
|
+ pr_err("Failed to locate the MPIC interrupt controller\n");
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -217,12 +216,12 @@ static __init void pas_init_IRQ(void)
|
|
|
naddr = of_n_addr_cells(root);
|
|
|
opprop = of_get_property(root, "platform-open-pic", &opplen);
|
|
|
if (!opprop) {
|
|
|
- printk(KERN_ERR "No platform-open-pic property.\n");
|
|
|
+ pr_err("No platform-open-pic property.\n");
|
|
|
of_node_put(root);
|
|
|
return;
|
|
|
}
|
|
|
openpic_addr = of_read_number(opprop, naddr);
|
|
|
- printk(KERN_DEBUG "OpenPIC addr: %lx\n", openpic_addr);
|
|
|
+ pr_debug("OpenPIC addr: %lx\n", openpic_addr);
|
|
|
|
|
|
mpic_flags = MPIC_LARGE_VECTORS | MPIC_NO_BIAS | MPIC_NO_RESET;
|
|
|
|
|
@@ -265,72 +264,72 @@ static int pas_machine_check_handler(struct pt_regs *regs)
|
|
|
srr1 = regs->msr;
|
|
|
|
|
|
if (nmi_virq && mpic_get_mcirq() == nmi_virq) {
|
|
|
- printk(KERN_ERR "NMI delivered\n");
|
|
|
+ pr_err("NMI delivered\n");
|
|
|
debugger(regs);
|
|
|
mpic_end_irq(irq_get_irq_data(nmi_virq));
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
dsisr = mfspr(SPRN_DSISR);
|
|
|
- printk(KERN_ERR "Machine Check on CPU %d\n", cpu);
|
|
|
- printk(KERN_ERR "SRR0 0x%016lx SRR1 0x%016lx\n", srr0, srr1);
|
|
|
- printk(KERN_ERR "DSISR 0x%016lx DAR 0x%016lx\n", dsisr, regs->dar);
|
|
|
- printk(KERN_ERR "BER 0x%016lx MER 0x%016lx\n", mfspr(SPRN_PA6T_BER),
|
|
|
+ pr_err("Machine Check on CPU %d\n", cpu);
|
|
|
+ pr_err("SRR0 0x%016lx SRR1 0x%016lx\n", srr0, srr1);
|
|
|
+ pr_err("DSISR 0x%016lx DAR 0x%016lx\n", dsisr, regs->dar);
|
|
|
+ pr_err("BER 0x%016lx MER 0x%016lx\n", mfspr(SPRN_PA6T_BER),
|
|
|
mfspr(SPRN_PA6T_MER));
|
|
|
- printk(KERN_ERR "IER 0x%016lx DER 0x%016lx\n", mfspr(SPRN_PA6T_IER),
|
|
|
+ pr_err("IER 0x%016lx DER 0x%016lx\n", mfspr(SPRN_PA6T_IER),
|
|
|
mfspr(SPRN_PA6T_DER));
|
|
|
- printk(KERN_ERR "Cause:\n");
|
|
|
+ pr_err("Cause:\n");
|
|
|
|
|
|
if (srr1 & 0x200000)
|
|
|
- printk(KERN_ERR "Signalled by SDC\n");
|
|
|
+ pr_err("Signalled by SDC\n");
|
|
|
|
|
|
if (srr1 & 0x100000) {
|
|
|
- printk(KERN_ERR "Load/Store detected error:\n");
|
|
|
+ pr_err("Load/Store detected error:\n");
|
|
|
if (dsisr & 0x8000)
|
|
|
- printk(KERN_ERR "D-cache ECC double-bit error or bus error\n");
|
|
|
+ pr_err("D-cache ECC double-bit error or bus error\n");
|
|
|
if (dsisr & 0x4000)
|
|
|
- printk(KERN_ERR "LSU snoop response error\n");
|
|
|
+ pr_err("LSU snoop response error\n");
|
|
|
if (dsisr & 0x2000) {
|
|
|
- printk(KERN_ERR "MMU SLB multi-hit or invalid B field\n");
|
|
|
+ pr_err("MMU SLB multi-hit or invalid B field\n");
|
|
|
dump_slb = 1;
|
|
|
}
|
|
|
if (dsisr & 0x1000)
|
|
|
- printk(KERN_ERR "Recoverable Duptags\n");
|
|
|
+ pr_err("Recoverable Duptags\n");
|
|
|
if (dsisr & 0x800)
|
|
|
- printk(KERN_ERR "Recoverable D-cache parity error count overflow\n");
|
|
|
+ pr_err("Recoverable D-cache parity error count overflow\n");
|
|
|
if (dsisr & 0x400)
|
|
|
- printk(KERN_ERR "TLB parity error count overflow\n");
|
|
|
+ pr_err("TLB parity error count overflow\n");
|
|
|
}
|
|
|
|
|
|
if (srr1 & 0x80000)
|
|
|
- printk(KERN_ERR "Bus Error\n");
|
|
|
+ pr_err("Bus Error\n");
|
|
|
|
|
|
if (srr1 & 0x40000) {
|
|
|
- printk(KERN_ERR "I-side SLB multiple hit\n");
|
|
|
+ pr_err("I-side SLB multiple hit\n");
|
|
|
dump_slb = 1;
|
|
|
}
|
|
|
|
|
|
if (srr1 & 0x20000)
|
|
|
- printk(KERN_ERR "I-cache parity error hit\n");
|
|
|
+ pr_err("I-cache parity error hit\n");
|
|
|
|
|
|
if (num_mce_regs == 0)
|
|
|
- printk(KERN_ERR "No MCE registers mapped yet, can't dump\n");
|
|
|
+ pr_err("No MCE registers mapped yet, can't dump\n");
|
|
|
else
|
|
|
- printk(KERN_ERR "SoC debug registers:\n");
|
|
|
+ pr_err("SoC debug registers:\n");
|
|
|
|
|
|
for (i = 0; i < num_mce_regs; i++)
|
|
|
- printk(KERN_ERR "%s: 0x%08x\n", mce_regs[i].name,
|
|
|
+ pr_err("%s: 0x%08x\n", mce_regs[i].name,
|
|
|
in_le32(mce_regs[i].addr));
|
|
|
|
|
|
if (dump_slb) {
|
|
|
unsigned long e, v;
|
|
|
int i;
|
|
|
|
|
|
- printk(KERN_ERR "slb contents:\n");
|
|
|
+ pr_err("slb contents:\n");
|
|
|
for (i = 0; i < mmu_slb_size; i++) {
|
|
|
asm volatile("slbmfee %0,%1" : "=r" (e) : "r" (i));
|
|
|
asm volatile("slbmfev %0,%1" : "=r" (v) : "r" (i));
|
|
|
- printk(KERN_ERR "%02d %016lx %016lx\n", i, e, v);
|
|
|
+ pr_err("%02d %016lx %016lx\n", i, e, v);
|
|
|
}
|
|
|
}
|
|
|
|