[PATCH] ppc: Fix ARCH=ppc build with xmon

Benjamin Herrenschmidt benh at kernel.crashing.org
Mon Nov 7 16:43:44 EST 2005


xmon() prototype is inconsistent between ARCH=ppc and ARCH=powerpc, thus causing
ARCH=ppc build breakage.

Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
---
I'm not sure you already fixed that, so just in case...

Index: linux-work/arch/ppc/kernel/traps.c
===================================================================
--- linux-work.orig/arch/ppc/kernel/traps.c	2005-11-07 15:10:26.000000000 +1100
+++ linux-work/arch/ppc/kernel/traps.c	2005-11-07 16:28:39.000000000 +1100
@@ -49,7 +49,7 @@
 extern int xmon_iabr_match(struct pt_regs *regs);
 extern int xmon_dabr_match(struct pt_regs *regs);
 
-void (*debugger)(struct pt_regs *regs) = xmon;
+int (*debugger)(struct pt_regs *regs) = xmon;
 int (*debugger_bpt)(struct pt_regs *regs) = xmon_bpt;
 int (*debugger_sstep)(struct pt_regs *regs) = xmon_sstep;
 int (*debugger_iabr_match)(struct pt_regs *regs) = xmon_iabr_match;
@@ -57,7 +57,7 @@
 void (*debugger_fault_handler)(struct pt_regs *regs);
 #else
 #ifdef CONFIG_KGDB
-void (*debugger)(struct pt_regs *regs);
+int (*debugger)(struct pt_regs *regs);
 int (*debugger_bpt)(struct pt_regs *regs);
 int (*debugger_sstep)(struct pt_regs *regs);
 int (*debugger_iabr_match)(struct pt_regs *regs);
Index: linux-work/arch/ppc/xmon/xmon.c
===================================================================
--- linux-work.orig/arch/ppc/xmon/xmon.c	2005-11-03 09:40:36.000000000 +1100
+++ linux-work/arch/ppc/xmon/xmon.c	2005-11-07 16:30:03.000000000 +1100
@@ -220,8 +220,7 @@
 	p[1] = lo;
 }
 
-void
-xmon(struct pt_regs *excp)
+int xmon(struct pt_regs *excp)
 {
 	struct pt_regs regs;
 	int msr, cmd;
@@ -290,6 +289,8 @@
 #endif /* CONFIG_SMP */
 	set_msr(msr);		/* restore interrupt enable */
 	get_tb(start_tb[smp_processor_id()]);
+
+	return cmd != 'X';
 }
 
 irqreturn_t
Index: linux-work/include/asm-ppc/kgdb.h
===================================================================
--- linux-work.orig/include/asm-ppc/kgdb.h	2005-09-22 14:07:27.000000000 +1000
+++ linux-work/include/asm-ppc/kgdb.h	2005-11-07 16:29:07.000000000 +1100
@@ -31,7 +31,7 @@
 /* For taking exceptions
  * these are defined in traps.c
  */
-extern void (*debugger)(struct pt_regs *regs);
+extern int (*debugger)(struct pt_regs *regs);
 extern int (*debugger_bpt)(struct pt_regs *regs);
 extern int (*debugger_sstep)(struct pt_regs *regs);
 extern int (*debugger_iabr_match)(struct pt_regs *regs);






More information about the Linuxppc-dev mailing list