diff options
author | Arjan van de Ven <arjan@linux.intel.com> | 2008-01-30 07:33:07 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:33:07 -0500 |
commit | bc850d6b374fffd08336996f4b4d3bbd6bf427f6 (patch) | |
tree | 1106f4a1718f5ed09625f75c95a8bc06635231de /include/asm-x86/stacktrace.h | |
parent | 3d1f7cae883ce4aac99c661562111a25d52effe0 (diff) |
x86: add the capability to print fuzzy backtraces
For enhancing the 32 bit EBP based backtracer, I need the capability
for the backtracer to tell it's customer that an entry is either
reliable or unreliable, and the backtrace printing code then needs to
print the unreliable ones slightly different.
This patch adds the basic capability, the next patch will add a user
of this capability.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-x86/stacktrace.h')
-rw-r--r-- | include/asm-x86/stacktrace.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/include/asm-x86/stacktrace.h b/include/asm-x86/stacktrace.h index 70dd5bae3235..30f82526a8e2 100644 --- a/include/asm-x86/stacktrace.h +++ b/include/asm-x86/stacktrace.h | |||
@@ -9,12 +9,13 @@ struct stacktrace_ops { | |||
9 | void (*warning)(void *data, char *msg); | 9 | void (*warning)(void *data, char *msg); |
10 | /* msg must contain %s for the symbol */ | 10 | /* msg must contain %s for the symbol */ |
11 | void (*warning_symbol)(void *data, char *msg, unsigned long symbol); | 11 | void (*warning_symbol)(void *data, char *msg, unsigned long symbol); |
12 | void (*address)(void *data, unsigned long address); | 12 | void (*address)(void *data, unsigned long address, int reliable); |
13 | /* On negative return stop dumping */ | 13 | /* On negative return stop dumping */ |
14 | int (*stack)(void *data, char *name); | 14 | int (*stack)(void *data, char *name); |
15 | }; | 15 | }; |
16 | 16 | ||
17 | void dump_trace(struct task_struct *tsk, struct pt_regs *regs, unsigned long *stack, | 17 | void dump_trace(struct task_struct *tsk, struct pt_regs *regs, |
18 | unsigned long *stack, unsigned long bp, | ||
18 | const struct stacktrace_ops *ops, void *data); | 19 | const struct stacktrace_ops *ops, void *data); |
19 | 20 | ||
20 | #endif | 21 | #endif |