1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun // Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd. 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun #ifndef __ASM_CSKY_PERF_EVENT_H 5*4882a593Smuzhiyun #define __ASM_CSKY_PERF_EVENT_H 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #include <abi/regdef.h> 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun #define perf_arch_fetch_caller_regs(regs, __ip) { \ 10*4882a593Smuzhiyun (regs)->pc = (__ip); \ 11*4882a593Smuzhiyun regs_fp(regs) = (unsigned long) __builtin_frame_address(0); \ 12*4882a593Smuzhiyun asm volatile("mov %0, sp\n":"=r"((regs)->usp)); \ 13*4882a593Smuzhiyun } 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun #endif /* __ASM_PERF_EVENT_ELF_H */ 16