Committer: Michael Beasley <mike@snafu.setup>
[mikesnafu-overlay.git] / include / linux / unwind.h
blob7760860fa170fa89a3bc5ead3509037bee727e45
1 #ifndef _LINUX_UNWIND_H
2 #define _LINUX_UNWIND_H
4 /*
5 * Copyright (C) 2002-2006 Novell, Inc.
6 * Jan Beulich <jbeulich@novell.com>
7 * This code is released under version 2 of the GNU GPL.
9 * A simple API for unwinding kernel stacks. This is used for
10 * debugging and error reporting purposes. The kernel doesn't need
11 * full-blown stack unwinding with all the bells and whistles, so there
12 * is not much point in implementing the full Dwarf2 unwind API.
15 struct module;
17 struct unwind_frame_info {};
19 static inline void unwind_init(void) {}
20 static inline void unwind_setup(void) {}
22 #ifdef CONFIG_MODULES
24 static inline void *unwind_add_table(struct module *mod,
25 const void *table_start,
26 unsigned long table_size)
28 return NULL;
31 static inline void unwind_remove_table(void *handle, int init_only)
35 #endif
37 static inline int unwind_init_frame_info(struct unwind_frame_info *info,
38 struct task_struct *tsk,
39 const struct pt_regs *regs)
41 return -ENOSYS;
44 static inline int unwind_init_blocked(struct unwind_frame_info *info,
45 struct task_struct *tsk)
47 return -ENOSYS;
50 static inline int unwind_init_running(struct unwind_frame_info *info,
51 asmlinkage int (*cb)(struct unwind_frame_info *,
52 void *arg),
53 void *arg)
55 return -ENOSYS;
58 static inline int unwind(struct unwind_frame_info *info)
60 return -ENOSYS;
63 static inline int unwind_to_user(struct unwind_frame_info *info)
65 return -ENOSYS;
68 #endif /* _LINUX_UNWIND_H */