]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/blob - drivers/misc/tegra-profiler/eh_unwind.h
misc: tegra-profiler: mixed backtraces
[sojka/nv-tegra/linux-3.10.git] / drivers / misc / tegra-profiler / eh_unwind.h
1 /*
2  * drivers/misc/tegra-profiler/eh_unwind.h
3  *
4  * Copyright (c) 2014, NVIDIA CORPORATION.  All rights reserved.
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms and conditions of the GNU General Public License,
8  * version 2, as published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
13  * more details.
14  *
15  */
16
17 #ifndef __QUADD_EH_UNWIND_H__
18 #define __QUADD_EH_UNWIND_H__
19
20 struct pt_regs;
21 struct quadd_callchain;
22 struct quadd_ctx;
23 struct quadd_extables;
24 struct task_struct;
25 struct quadd_extabs_mmap;
26
27 unsigned int
28 quadd_get_user_callchain_ut(struct pt_regs *regs,
29                             struct quadd_callchain *cc,
30                             struct task_struct *task);
31
32 int quadd_unwind_init(void);
33 void quadd_unwind_deinit(void);
34
35 int quadd_unwind_start(struct task_struct *task);
36 void quadd_unwind_stop(void);
37
38 int quadd_unwind_set_extab(struct quadd_extables *extabs,
39                            struct quadd_extabs_mmap *mmap);
40 void quadd_unwind_delete_mmap(struct quadd_extabs_mmap *mmap);
41
42 int
43 quadd_is_ex_entry_exist(struct pt_regs *regs,
44                         unsigned long addr,
45                         struct task_struct *task);
46
47 #endif  /* __QUADD_EH_UNWIND_H__ */