dwarf-regs-table.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef S390_DWARF_REGS_TABLE_H
  3. #define S390_DWARF_REGS_TABLE_H
  4. #define REG_DWARFNUM_NAME(reg, idx) [idx] = "%" #reg
  5. /*
  6. * For reference, see DWARF register mapping:
  7. * http://refspecs.linuxfoundation.org/ELF/zSeries/lzsabi0_s390/x1542.html
  8. */
  9. static const char * const s390_dwarf_regs[] = {
  10. "%r0", "%r1", "%r2", "%r3", "%r4", "%r5", "%r6", "%r7",
  11. "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15",
  12. REG_DWARFNUM_NAME(f0, 16),
  13. REG_DWARFNUM_NAME(f1, 20),
  14. REG_DWARFNUM_NAME(f2, 17),
  15. REG_DWARFNUM_NAME(f3, 21),
  16. REG_DWARFNUM_NAME(f4, 18),
  17. REG_DWARFNUM_NAME(f5, 22),
  18. REG_DWARFNUM_NAME(f6, 19),
  19. REG_DWARFNUM_NAME(f7, 23),
  20. REG_DWARFNUM_NAME(f8, 24),
  21. REG_DWARFNUM_NAME(f9, 28),
  22. REG_DWARFNUM_NAME(f10, 25),
  23. REG_DWARFNUM_NAME(f11, 29),
  24. REG_DWARFNUM_NAME(f12, 26),
  25. REG_DWARFNUM_NAME(f13, 30),
  26. REG_DWARFNUM_NAME(f14, 27),
  27. REG_DWARFNUM_NAME(f15, 31),
  28. REG_DWARFNUM_NAME(c0, 32),
  29. REG_DWARFNUM_NAME(c1, 33),
  30. REG_DWARFNUM_NAME(c2, 34),
  31. REG_DWARFNUM_NAME(c3, 35),
  32. REG_DWARFNUM_NAME(c4, 36),
  33. REG_DWARFNUM_NAME(c5, 37),
  34. REG_DWARFNUM_NAME(c6, 38),
  35. REG_DWARFNUM_NAME(c7, 39),
  36. REG_DWARFNUM_NAME(c8, 40),
  37. REG_DWARFNUM_NAME(c9, 41),
  38. REG_DWARFNUM_NAME(c10, 42),
  39. REG_DWARFNUM_NAME(c11, 43),
  40. REG_DWARFNUM_NAME(c12, 44),
  41. REG_DWARFNUM_NAME(c13, 45),
  42. REG_DWARFNUM_NAME(c14, 46),
  43. REG_DWARFNUM_NAME(c15, 47),
  44. REG_DWARFNUM_NAME(a0, 48),
  45. REG_DWARFNUM_NAME(a1, 49),
  46. REG_DWARFNUM_NAME(a2, 50),
  47. REG_DWARFNUM_NAME(a3, 51),
  48. REG_DWARFNUM_NAME(a4, 52),
  49. REG_DWARFNUM_NAME(a5, 53),
  50. REG_DWARFNUM_NAME(a6, 54),
  51. REG_DWARFNUM_NAME(a7, 55),
  52. REG_DWARFNUM_NAME(a8, 56),
  53. REG_DWARFNUM_NAME(a9, 57),
  54. REG_DWARFNUM_NAME(a10, 58),
  55. REG_DWARFNUM_NAME(a11, 59),
  56. REG_DWARFNUM_NAME(a12, 60),
  57. REG_DWARFNUM_NAME(a13, 61),
  58. REG_DWARFNUM_NAME(a14, 62),
  59. REG_DWARFNUM_NAME(a15, 63),
  60. REG_DWARFNUM_NAME(pswm, 64),
  61. REG_DWARFNUM_NAME(pswa, 65),
  62. };
  63. #ifdef DEFINE_DWARF_REGSTR_TABLE
  64. /* This is included in perf/util/dwarf-regs.c */
  65. #define s390_regstr_tbl s390_dwarf_regs
  66. #endif /* DEFINE_DWARF_REGSTR_TABLE */
  67. #endif /* S390_DWARF_REGS_TABLE_H */