18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef _PERF_DWARF_REGS_H_
38c2ecf20Sopenharmony_ci#define _PERF_DWARF_REGS_H_
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#ifdef HAVE_DWARF_SUPPORT
68c2ecf20Sopenharmony_ciconst char *get_arch_regstr(unsigned int n);
78c2ecf20Sopenharmony_ci/*
88c2ecf20Sopenharmony_ci * get_dwarf_regstr - Returns ftrace register string from DWARF regnum
98c2ecf20Sopenharmony_ci * n: DWARF register number
108c2ecf20Sopenharmony_ci * machine: ELF machine signature (EM_*)
118c2ecf20Sopenharmony_ci */
128c2ecf20Sopenharmony_ciconst char *get_dwarf_regstr(unsigned int n, unsigned int machine);
138c2ecf20Sopenharmony_ci#endif
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci#ifdef HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET
168c2ecf20Sopenharmony_ci/*
178c2ecf20Sopenharmony_ci * Arch should support fetching the offset of a register in pt_regs
188c2ecf20Sopenharmony_ci * by its name. See kernel's regs_query_register_offset in
198c2ecf20Sopenharmony_ci * arch/xxx/kernel/ptrace.c.
208c2ecf20Sopenharmony_ci */
218c2ecf20Sopenharmony_ciint regs_query_register_offset(const char *name);
228c2ecf20Sopenharmony_ci#endif
238c2ecf20Sopenharmony_ci#endif
24