perf_event.h 712 B

123456789101112131415161718192021222324252627
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (C) 2012 ARM Ltd.
  4. */
  5. #ifndef __ASM_PERF_EVENT_H
  6. #define __ASM_PERF_EVENT_H
  7. #include <asm/stack_pointer.h>
  8. #include <asm/ptrace.h>
  9. #ifdef CONFIG_PERF_EVENTS
  10. struct pt_regs;
  11. extern unsigned long perf_instruction_pointer(struct pt_regs *regs);
  12. extern unsigned long perf_misc_flags(struct pt_regs *regs);
  13. #define perf_misc_flags(regs) perf_misc_flags(regs)
  14. #define perf_arch_bpf_user_pt_regs(regs) &regs->user_regs
  15. #endif
  16. #define perf_arch_fetch_caller_regs(regs, __ip) { \
  17. (regs)->pc = (__ip); \
  18. (regs)->regs[29] = (unsigned long) __builtin_frame_address(0); \
  19. (regs)->sp = current_stack_pointer; \
  20. (regs)->pstate = PSR_MODE_EL1h; \
  21. }
  22. #endif