perf_regs.h 1009 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #ifndef ARCH_PERF_REGS_H
  2. #define ARCH_PERF_REGS_H
  3. #include <stdlib.h>
  4. #include "../../util/types.h"
  5. #include <asm/perf_regs.h>
  6. #define PERF_REGS_MASK ((1ULL << PERF_REG_ARM_MAX) - 1)
  7. #define PERF_REG_IP PERF_REG_ARM_PC
  8. #define PERF_REG_SP PERF_REG_ARM_SP
  9. static inline const char *perf_reg_name(int id)
  10. {
  11. switch (id) {
  12. case PERF_REG_ARM_R0:
  13. return "r0";
  14. case PERF_REG_ARM_R1:
  15. return "r1";
  16. case PERF_REG_ARM_R2:
  17. return "r2";
  18. case PERF_REG_ARM_R3:
  19. return "r3";
  20. case PERF_REG_ARM_R4:
  21. return "r4";
  22. case PERF_REG_ARM_R5:
  23. return "r5";
  24. case PERF_REG_ARM_R6:
  25. return "r6";
  26. case PERF_REG_ARM_R7:
  27. return "r7";
  28. case PERF_REG_ARM_R8:
  29. return "r8";
  30. case PERF_REG_ARM_R9:
  31. return "r9";
  32. case PERF_REG_ARM_R10:
  33. return "r10";
  34. case PERF_REG_ARM_FP:
  35. return "fp";
  36. case PERF_REG_ARM_IP:
  37. return "ip";
  38. case PERF_REG_ARM_SP:
  39. return "sp";
  40. case PERF_REG_ARM_LR:
  41. return "lr";
  42. case PERF_REG_ARM_PC:
  43. return "pc";
  44. default:
  45. return NULL;
  46. }
  47. return NULL;
  48. }
  49. #endif /* ARCH_PERF_REGS_H */