unwinder.h (856B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef _LINUX_UNWINDER_H 3#define _LINUX_UNWINDER_H 4 5#include <asm/stacktrace.h> 6 7struct 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 *); 13}; 14 15extern int unwinder_init(void); 16extern int unwinder_register(struct unwinder *); 17 18extern void unwind_stack(struct task_struct *, struct pt_regs *, 19 unsigned long *, const struct stacktrace_ops *, 20 void *); 21 22extern void stack_reader_dump(struct task_struct *, struct pt_regs *, 23 unsigned long *, const struct stacktrace_ops *, 24 void *); 25 26/* 27 * Used by fault handling code to signal to the unwinder code that it 28 * should switch to a different unwinder. 29 */ 30extern int unwinder_faulted; 31 32#endif /* _LINUX_UNWINDER_H */