162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci#ifndef __ASM_CSKY_PERF_EVENT_H 462306a36Sopenharmony_ci#define __ASM_CSKY_PERF_EVENT_H 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include <abi/regdef.h> 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#define perf_arch_fetch_caller_regs(regs, __ip) { \ 962306a36Sopenharmony_ci (regs)->pc = (__ip); \ 1062306a36Sopenharmony_ci regs_fp(regs) = (unsigned long) __builtin_frame_address(0); \ 1162306a36Sopenharmony_ci asm volatile("mov %0, sp\n":"=r"((regs)->usp)); \ 1262306a36Sopenharmony_ci} 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci#endif /* __ASM_PERF_EVENT_ELF_H */ 15