Linux 6.13-rc4
[linux.git] / arch / sh / include / asm / unwinder.h
blobce82c96c789904daae6623c897d4cccdc64cf285
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_UNWINDER_H
3 #define _LINUX_UNWINDER_H
5 #include <asm/stacktrace.h>
7 struct unwinder {
8 const char *name;
9 struct list_head list;
10 int rating;
11 void (*dump)(struct task_struct *, struct pt_regs *,
12 unsigned long *, const struct stacktrace_ops *, void *);
15 extern int unwinder_init(void);
16 extern int unwinder_register(struct unwinder *);
18 extern void unwind_stack(struct task_struct *, struct pt_regs *,
19 unsigned long *, const struct stacktrace_ops *,
20 void *);
22 extern void stack_reader_dump(struct task_struct *, struct pt_regs *,
23 unsigned long *, const struct stacktrace_ops *,
24 void *);
27 * Used by fault handling code to signal to the unwinder code that it
28 * should switch to a different unwinder.
30 extern int unwinder_faulted;
32 #endif /* _LINUX_UNWINDER_H */