[PATCH] powerpc: Nicer printing of address at oops

Olof Johansson olof at lixom.net
Tue Nov 8 03:40:25 EST 2005


On Mon, Nov 07, 2005 at 02:08:38PM +0100, Segher Boessenkool wrote:

> You can use "%0*lx".  Or just use "%p".

I hope everyone's happy now. Andrew, please apply.


-Olof


---

Add nicer printing of faulting address on unresolvable kernel faults.

Makes life a little easier for those who don't know how to decode our
register contents at oops time.


Signed-off-by: Olof Johansson <olof at lixom.net>

Index: 2.6/arch/powerpc/mm/fault.c
===================================================================
--- 2.6.orig/arch/powerpc/mm/fault.c	2005-11-06 19:24:16.000000000 -0800
+++ 2.6/arch/powerpc/mm/fault.c	2005-11-07 08:33:02.000000000 -0800
@@ -389,5 +389,23 @@ void bad_page_fault(struct pt_regs *regs
 	}
 
 	/* kernel has accessed a bad area */
+
+	printk(KERN_ALERT "Unable to handle kernel paging request for ");
+	switch (regs->trap) {
+		case 0x300:
+		case 0x380:
+			printk("data at address 0x%0*lx\n", sizeof(long)*2,
+				regs->dar);
+			break;
+		case 0x400:
+		case 0x480:
+			printk("instruction fetch\n");
+			break;
+		default:
+			printk("unknown fault\n");
+	}
+	printk(KERN_ALERT "Faulting instruction address: 0x%0*lx\n",
+		sizeof(long)*2, regs->nip);
+
 	die("Kernel access of bad area", regs, sig);
 }



More information about the Linuxppc64-dev mailing list