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