18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#ifndef __PERF_UNWIND_LIBDW_H 38c2ecf20Sopenharmony_ci#define __PERF_UNWIND_LIBDW_H 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#include <elfutils/libdwfl.h> 68c2ecf20Sopenharmony_ci#include "unwind.h" 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_cistruct machine; 98c2ecf20Sopenharmony_cistruct perf_sample; 108c2ecf20Sopenharmony_cistruct thread; 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_cibool libdw__arch_set_initial_registers(Dwfl_Thread *thread, void *arg); 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_cistruct unwind_info { 158c2ecf20Sopenharmony_ci Dwfl *dwfl; 168c2ecf20Sopenharmony_ci struct perf_sample *sample; 178c2ecf20Sopenharmony_ci struct machine *machine; 188c2ecf20Sopenharmony_ci struct thread *thread; 198c2ecf20Sopenharmony_ci unwind_entry_cb_t cb; 208c2ecf20Sopenharmony_ci void *arg; 218c2ecf20Sopenharmony_ci int max_stack; 228c2ecf20Sopenharmony_ci int idx; 238c2ecf20Sopenharmony_ci struct unwind_entry entries[]; 248c2ecf20Sopenharmony_ci}; 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci#endif /* __PERF_UNWIND_LIBDW_H */ 27