diff options
-rw-r--r-- | arch/ppc/kernel/traps.c | 4 | ||||
-rw-r--r-- | arch/ppc/xmon/xmon.c | 5 | ||||
-rw-r--r-- | include/asm-ppc/kgdb.h | 2 |
3 files changed, 6 insertions, 5 deletions
diff --git a/arch/ppc/kernel/traps.c b/arch/ppc/kernel/traps.c index 42d980e82bdc..9dbc4d28fa28 100644 --- a/arch/ppc/kernel/traps.c +++ b/arch/ppc/kernel/traps.c | |||
@@ -49,7 +49,7 @@ extern int xmon_sstep(struct pt_regs *regs); | |||
49 | extern int xmon_iabr_match(struct pt_regs *regs); | 49 | extern int xmon_iabr_match(struct pt_regs *regs); |
50 | extern int xmon_dabr_match(struct pt_regs *regs); | 50 | extern int xmon_dabr_match(struct pt_regs *regs); |
51 | 51 | ||
52 | void (*debugger)(struct pt_regs *regs) = xmon; | 52 | int (*debugger)(struct pt_regs *regs) = xmon; |
53 | int (*debugger_bpt)(struct pt_regs *regs) = xmon_bpt; | 53 | int (*debugger_bpt)(struct pt_regs *regs) = xmon_bpt; |
54 | int (*debugger_sstep)(struct pt_regs *regs) = xmon_sstep; | 54 | int (*debugger_sstep)(struct pt_regs *regs) = xmon_sstep; |
55 | int (*debugger_iabr_match)(struct pt_regs *regs) = xmon_iabr_match; | 55 | int (*debugger_iabr_match)(struct pt_regs *regs) = xmon_iabr_match; |
@@ -57,7 +57,7 @@ int (*debugger_dabr_match)(struct pt_regs *regs) = xmon_dabr_match; | |||
57 | void (*debugger_fault_handler)(struct pt_regs *regs); | 57 | void (*debugger_fault_handler)(struct pt_regs *regs); |
58 | #else | 58 | #else |
59 | #ifdef CONFIG_KGDB | 59 | #ifdef CONFIG_KGDB |
60 | void (*debugger)(struct pt_regs *regs); | 60 | int (*debugger)(struct pt_regs *regs); |
61 | int (*debugger_bpt)(struct pt_regs *regs); | 61 | int (*debugger_bpt)(struct pt_regs *regs); |
62 | int (*debugger_sstep)(struct pt_regs *regs); | 62 | int (*debugger_sstep)(struct pt_regs *regs); |
63 | int (*debugger_iabr_match)(struct pt_regs *regs); | 63 | int (*debugger_iabr_match)(struct pt_regs *regs); |
diff --git a/arch/ppc/xmon/xmon.c b/arch/ppc/xmon/xmon.c index 66bfaa3211a2..2b483b4f1602 100644 --- a/arch/ppc/xmon/xmon.c +++ b/arch/ppc/xmon/xmon.c | |||
@@ -220,8 +220,7 @@ static void get_tb(unsigned *p) | |||
220 | p[1] = lo; | 220 | p[1] = lo; |
221 | } | 221 | } |
222 | 222 | ||
223 | void | 223 | int xmon(struct pt_regs *excp) |
224 | xmon(struct pt_regs *excp) | ||
225 | { | 224 | { |
226 | struct pt_regs regs; | 225 | struct pt_regs regs; |
227 | int msr, cmd; | 226 | int msr, cmd; |
@@ -290,6 +289,8 @@ xmon(struct pt_regs *excp) | |||
290 | #endif /* CONFIG_SMP */ | 289 | #endif /* CONFIG_SMP */ |
291 | set_msr(msr); /* restore interrupt enable */ | 290 | set_msr(msr); /* restore interrupt enable */ |
292 | get_tb(start_tb[smp_processor_id()]); | 291 | get_tb(start_tb[smp_processor_id()]); |
292 | |||
293 | return cmd != 'X'; | ||
293 | } | 294 | } |
294 | 295 | ||
295 | irqreturn_t | 296 | irqreturn_t |
diff --git a/include/asm-ppc/kgdb.h b/include/asm-ppc/kgdb.h index 1d3c927ce626..b617dac82969 100644 --- a/include/asm-ppc/kgdb.h +++ b/include/asm-ppc/kgdb.h | |||
@@ -31,7 +31,7 @@ extern void breakpoint(void); | |||
31 | /* For taking exceptions | 31 | /* For taking exceptions |
32 | * these are defined in traps.c | 32 | * these are defined in traps.c |
33 | */ | 33 | */ |
34 | extern void (*debugger)(struct pt_regs *regs); | 34 | extern int (*debugger)(struct pt_regs *regs); |
35 | extern int (*debugger_bpt)(struct pt_regs *regs); | 35 | extern int (*debugger_bpt)(struct pt_regs *regs); |
36 | extern int (*debugger_sstep)(struct pt_regs *regs); | 36 | extern int (*debugger_sstep)(struct pt_regs *regs); |
37 | extern int (*debugger_iabr_match)(struct pt_regs *regs); | 37 | extern int (*debugger_iabr_match)(struct pt_regs *regs); |