[PATCH] ppc: Fix ARCH=ppc build with xmon
DORMANTno replies
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2005-11-07 05:45:57
xmon() prototype is inconsistent between ARCH=ppc and ARCH=powerpc, thus causing ARCH=ppc build breakage. Signed-off-by: Benjamin Herrenschmidt <benh@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);