xref: /openbmc/linux/tools/perf/util/unwind-libdw.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
25ea84154SJiri Olsa #ifndef __PERF_UNWIND_LIBDW_H
35ea84154SJiri Olsa #define __PERF_UNWIND_LIBDW_H
45ea84154SJiri Olsa 
55ea84154SJiri Olsa #include <elfutils/libdwfl.h>
65ea84154SJiri Olsa #include "unwind.h"
75ea84154SJiri Olsa 
8e7ff8920SArnaldo Carvalho de Melo struct machine;
9e7ff8920SArnaldo Carvalho de Melo struct perf_sample;
10e7ff8920SArnaldo Carvalho de Melo struct thread;
11e7ff8920SArnaldo Carvalho de Melo 
125ea84154SJiri Olsa bool libdw__arch_set_initial_registers(Dwfl_Thread *thread, void *arg);
135ea84154SJiri Olsa 
145ea84154SJiri Olsa struct unwind_info {
155ea84154SJiri Olsa 	Dwfl			*dwfl;
165ea84154SJiri Olsa 	struct perf_sample      *sample;
175ea84154SJiri Olsa 	struct machine          *machine;
185ea84154SJiri Olsa 	struct thread           *thread;
195ea84154SJiri Olsa 	unwind_entry_cb_t	cb;
205ea84154SJiri Olsa 	void			*arg;
215ea84154SJiri Olsa 	int			max_stack;
228bd508b0SJiri Olsa 	int			idx;
23*fa7095c5SJames Clark 	bool			best_effort;
248bd508b0SJiri Olsa 	struct unwind_entry	entries[];
255ea84154SJiri Olsa };
265ea84154SJiri Olsa 
275ea84154SJiri Olsa #endif /* __PERF_UNWIND_LIBDW_H */
28