summaryrefslogtreecommitdiffstats
path: root/kernel/arch/arm64/include/asm/perf_event.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/arch/arm64/include/asm/perf_event.h')
-rw-r--r--kernel/arch/arm64/include/asm/perf_event.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/kernel/arch/arm64/include/asm/perf_event.h b/kernel/arch/arm64/include/asm/perf_event.h
index d26d1d53c..7bd3cdb53 100644
--- a/kernel/arch/arm64/include/asm/perf_event.h
+++ b/kernel/arch/arm64/include/asm/perf_event.h
@@ -17,11 +17,18 @@
#ifndef __ASM_PERF_EVENT_H
#define __ASM_PERF_EVENT_H
-#ifdef CONFIG_HW_PERF_EVENTS
+#ifdef CONFIG_PERF_EVENTS
struct pt_regs;
extern unsigned long perf_instruction_pointer(struct pt_regs *regs);
extern unsigned long perf_misc_flags(struct pt_regs *regs);
#define perf_misc_flags(regs) perf_misc_flags(regs)
#endif
+#define perf_arch_fetch_caller_regs(regs, __ip) { \
+ (regs)->pc = (__ip); \
+ (regs)->regs[29] = (unsigned long) __builtin_frame_address(0); \
+ (regs)->sp = current_stack_pointer; \
+ (regs)->pstate = PSR_MODE_EL1h; \
+}
+
#endif