diff options
Diffstat (limited to 'drivers/misc/tegra-profiler/eh_unwind.h')
-rw-r--r-- | drivers/misc/tegra-profiler/eh_unwind.h | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/drivers/misc/tegra-profiler/eh_unwind.h b/drivers/misc/tegra-profiler/eh_unwind.h index 77fdfc92aba9..7ce0f828b9e5 100644 --- a/drivers/misc/tegra-profiler/eh_unwind.h +++ b/drivers/misc/tegra-profiler/eh_unwind.h @@ -17,6 +17,8 @@ #ifndef __QUADD_EH_UNWIND_H__ #define __QUADD_EH_UNWIND_H__ +#include <linux/tegra_profiler.h> + struct pt_regs; struct quadd_callchain; struct quadd_ctx; @@ -25,9 +27,9 @@ struct task_struct; struct quadd_mmap_area; unsigned int -quadd_aarch32_get_user_callchain_ut(struct pt_regs *regs, - struct quadd_callchain *cc, - struct task_struct *task); +quadd_get_user_cc_arm32_ehabi(struct pt_regs *regs, + struct quadd_callchain *cc, + struct task_struct *task); int quadd_unwind_init(void); void quadd_unwind_deinit(void); @@ -35,20 +37,21 @@ void quadd_unwind_deinit(void); int quadd_unwind_start(struct task_struct *task); void quadd_unwind_stop(void); -int quadd_unwind_set_extab(struct quadd_extables *extabs, +int quadd_unwind_set_extab(struct quadd_sections *extabs, struct quadd_mmap_area *mmap); void quadd_unwind_delete_mmap(struct quadd_mmap_area *mmap); int -quadd_aarch32_is_ex_entry_exist(struct pt_regs *regs, - unsigned long addr, - struct task_struct *task); +quadd_is_ex_entry_exist_arm32_ehabi(struct pt_regs *regs, + unsigned long addr, + struct task_struct *task); void quadd_unwind_set_tail_info(unsigned long vm_start, unsigned long tf_start, unsigned long tf_end); + struct extab_info { unsigned long addr; unsigned long length; @@ -56,16 +59,11 @@ struct extab_info { unsigned long mmap_offset; }; -struct extables { - struct extab_info extab; - struct extab_info exidx; -}; - struct ex_region_info { unsigned long vm_start; unsigned long vm_end; - struct extables tabs; + struct extab_info ex_sec[QUADD_SEC_TYPE_MAX]; struct quadd_mmap_area *mmap; struct list_head list; @@ -74,6 +72,7 @@ struct ex_region_info { unsigned long tf_end; }; -long quadd_search_ex_region(unsigned long key, struct ex_region_info *ri); +long +quadd_get_extabs_ehframe(unsigned long key, struct ex_region_info *ri); #endif /* __QUADD_EH_UNWIND_H__ */ |