perf_regs_x86.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2. #ifndef _ASM_X86_PERF_REGS_H
  3. #define _ASM_X86_PERF_REGS_H
  4. enum perf_event_x86_regs {
  5. PERF_REG_X86_AX,
  6. PERF_REG_X86_BX,
  7. PERF_REG_X86_CX,
  8. PERF_REG_X86_DX,
  9. PERF_REG_X86_SI,
  10. PERF_REG_X86_DI,
  11. PERF_REG_X86_BP,
  12. PERF_REG_X86_SP,
  13. PERF_REG_X86_IP,
  14. PERF_REG_X86_FLAGS,
  15. PERF_REG_X86_CS,
  16. PERF_REG_X86_SS,
  17. PERF_REG_X86_DS,
  18. PERF_REG_X86_ES,
  19. PERF_REG_X86_FS,
  20. PERF_REG_X86_GS,
  21. PERF_REG_X86_R8,
  22. PERF_REG_X86_R9,
  23. PERF_REG_X86_R10,
  24. PERF_REG_X86_R11,
  25. PERF_REG_X86_R12,
  26. PERF_REG_X86_R13,
  27. PERF_REG_X86_R14,
  28. PERF_REG_X86_R15,
  29. /* These are the limits for the GPRs. */
  30. PERF_REG_X86_32_MAX = PERF_REG_X86_GS + 1,
  31. PERF_REG_X86_64_MAX = PERF_REG_X86_R15 + 1,
  32. /* These all need two bits set because they are 128bit */
  33. PERF_REG_X86_XMM0 = 32,
  34. PERF_REG_X86_XMM1 = 34,
  35. PERF_REG_X86_XMM2 = 36,
  36. PERF_REG_X86_XMM3 = 38,
  37. PERF_REG_X86_XMM4 = 40,
  38. PERF_REG_X86_XMM5 = 42,
  39. PERF_REG_X86_XMM6 = 44,
  40. PERF_REG_X86_XMM7 = 46,
  41. PERF_REG_X86_XMM8 = 48,
  42. PERF_REG_X86_XMM9 = 50,
  43. PERF_REG_X86_XMM10 = 52,
  44. PERF_REG_X86_XMM11 = 54,
  45. PERF_REG_X86_XMM12 = 56,
  46. PERF_REG_X86_XMM13 = 58,
  47. PERF_REG_X86_XMM14 = 60,
  48. PERF_REG_X86_XMM15 = 62,
  49. /* These include both GPRs and XMMX registers */
  50. PERF_REG_X86_XMM_MAX = PERF_REG_X86_XMM15 + 2,
  51. };
  52. #define PERF_REG_EXTENDED_MASK (~((1ULL << PERF_REG_X86_XMM0) - 1))
  53. #endif /* _ASM_X86_PERF_REGS_H */