diff options
author | Atsushi Nemoto <anemo@mba.ocn.ne.jp> | 2006-09-29 05:02:51 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2006-10-01 18:16:59 -0400 |
commit | 1924600cdb3143cdcc32b6fa43325739503659b9 (patch) | |
tree | 002a03fe8e97db3f3a2b07d1d0d27381f80357b9 /include | |
parent | 23126692e30ec22760e0ef932c3c2fff00d440bb (diff) |
[MIPS] Make unwind_stack() can dig into interrupted context
If the PC was ret_from_irq or ret_from_exception, there will be no
more normal stackframe. Instead of stopping the unwinding, use PC and
RA saved by an exception handler to continue unwinding into the
interrupted context. This also simplifies the CONFIG_STACKTRACE code.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-mips/stacktrace.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-mips/stacktrace.h b/include/asm-mips/stacktrace.h index 231f6f897a61..07f873351a86 100644 --- a/include/asm-mips/stacktrace.h +++ b/include/asm-mips/stacktrace.h | |||
@@ -6,7 +6,7 @@ | |||
6 | #ifdef CONFIG_KALLSYMS | 6 | #ifdef CONFIG_KALLSYMS |
7 | extern int raw_show_trace; | 7 | extern int raw_show_trace; |
8 | extern unsigned long unwind_stack(struct task_struct *task, unsigned long *sp, | 8 | extern unsigned long unwind_stack(struct task_struct *task, unsigned long *sp, |
9 | unsigned long pc, unsigned long ra); | 9 | unsigned long pc, unsigned long *ra); |
10 | #else | 10 | #else |
11 | #define raw_show_trace 1 | 11 | #define raw_show_trace 1 |
12 | #define unwind_stack(task, sp, pc, ra) 0 | 12 | #define unwind_stack(task, sp, pc, ra) 0 |