perf_regs.h 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #ifndef ARCH_PERF_REGS_H
  2. #define ARCH_PERF_REGS_H
  3. #include <stdlib.h>
  4. #include <linux/types.h>
  5. #include <asm/perf_regs.h>
  6. void perf_regs_load(u64 *regs);
  7. #define PERF_REGS_MASK ((1ULL << PERF_REG_S390_MAX) - 1)
  8. #define PERF_REGS_MAX PERF_REG_S390_MAX
  9. #define PERF_SAMPLE_REGS_ABI PERF_SAMPLE_REGS_ABI_64
  10. #define PERF_REG_IP PERF_REG_S390_PC
  11. #define PERF_REG_SP PERF_REG_S390_R15
  12. static inline const char *perf_reg_name(int id)
  13. {
  14. switch (id) {
  15. case PERF_REG_S390_R0:
  16. return "R0";
  17. case PERF_REG_S390_R1:
  18. return "R1";
  19. case PERF_REG_S390_R2:
  20. return "R2";
  21. case PERF_REG_S390_R3:
  22. return "R3";
  23. case PERF_REG_S390_R4:
  24. return "R4";
  25. case PERF_REG_S390_R5:
  26. return "R5";
  27. case PERF_REG_S390_R6:
  28. return "R6";
  29. case PERF_REG_S390_R7:
  30. return "R7";
  31. case PERF_REG_S390_R8:
  32. return "R8";
  33. case PERF_REG_S390_R9:
  34. return "R9";
  35. case PERF_REG_S390_R10:
  36. return "R10";
  37. case PERF_REG_S390_R11:
  38. return "R11";
  39. case PERF_REG_S390_R12:
  40. return "R12";
  41. case PERF_REG_S390_R13:
  42. return "R13";
  43. case PERF_REG_S390_R14:
  44. return "R14";
  45. case PERF_REG_S390_R15:
  46. return "R15";
  47. case PERF_REG_S390_FP0:
  48. return "FP0";
  49. case PERF_REG_S390_FP1:
  50. return "FP1";
  51. case PERF_REG_S390_FP2:
  52. return "FP2";
  53. case PERF_REG_S390_FP3:
  54. return "FP3";
  55. case PERF_REG_S390_FP4:
  56. return "FP4";
  57. case PERF_REG_S390_FP5:
  58. return "FP5";
  59. case PERF_REG_S390_FP6:
  60. return "FP6";
  61. case PERF_REG_S390_FP7:
  62. return "FP7";
  63. case PERF_REG_S390_FP8:
  64. return "FP8";
  65. case PERF_REG_S390_FP9:
  66. return "FP9";
  67. case PERF_REG_S390_FP10:
  68. return "FP10";
  69. case PERF_REG_S390_FP11:
  70. return "FP11";
  71. case PERF_REG_S390_FP12:
  72. return "FP12";
  73. case PERF_REG_S390_FP13:
  74. return "FP13";
  75. case PERF_REG_S390_FP14:
  76. return "FP14";
  77. case PERF_REG_S390_FP15:
  78. return "FP15";
  79. case PERF_REG_S390_MASK:
  80. return "MASK";
  81. case PERF_REG_S390_PC:
  82. return "PC";
  83. default:
  84. return NULL;
  85. }
  86. return NULL;
  87. }
  88. #endif /* ARCH_PERF_REGS_H */