18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#ifndef S390_DWARF_REGS_TABLE_H 38c2ecf20Sopenharmony_ci#define S390_DWARF_REGS_TABLE_H 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#define REG_DWARFNUM_NAME(reg, idx) [idx] = "%" #reg 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci/* 88c2ecf20Sopenharmony_ci * For reference, see DWARF register mapping: 98c2ecf20Sopenharmony_ci * http://refspecs.linuxfoundation.org/ELF/zSeries/lzsabi0_s390/x1542.html 108c2ecf20Sopenharmony_ci */ 118c2ecf20Sopenharmony_cistatic const char * const s390_dwarf_regs[] = { 128c2ecf20Sopenharmony_ci "%r0", "%r1", "%r2", "%r3", "%r4", "%r5", "%r6", "%r7", 138c2ecf20Sopenharmony_ci "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15", 148c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(f0, 16), 158c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(f1, 20), 168c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(f2, 17), 178c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(f3, 21), 188c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(f4, 18), 198c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(f5, 22), 208c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(f6, 19), 218c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(f7, 23), 228c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(f8, 24), 238c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(f9, 28), 248c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(f10, 25), 258c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(f11, 29), 268c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(f12, 26), 278c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(f13, 30), 288c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(f14, 27), 298c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(f15, 31), 308c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(c0, 32), 318c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(c1, 33), 328c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(c2, 34), 338c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(c3, 35), 348c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(c4, 36), 358c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(c5, 37), 368c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(c6, 38), 378c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(c7, 39), 388c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(c8, 40), 398c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(c9, 41), 408c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(c10, 42), 418c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(c11, 43), 428c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(c12, 44), 438c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(c13, 45), 448c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(c14, 46), 458c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(c15, 47), 468c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(a0, 48), 478c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(a1, 49), 488c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(a2, 50), 498c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(a3, 51), 508c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(a4, 52), 518c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(a5, 53), 528c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(a6, 54), 538c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(a7, 55), 548c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(a8, 56), 558c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(a9, 57), 568c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(a10, 58), 578c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(a11, 59), 588c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(a12, 60), 598c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(a13, 61), 608c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(a14, 62), 618c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(a15, 63), 628c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(pswm, 64), 638c2ecf20Sopenharmony_ci REG_DWARFNUM_NAME(pswa, 65), 648c2ecf20Sopenharmony_ci}; 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci#ifdef DEFINE_DWARF_REGSTR_TABLE 678c2ecf20Sopenharmony_ci/* This is included in perf/util/dwarf-regs.c */ 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ci#define s390_regstr_tbl s390_dwarf_regs 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ci#endif /* DEFINE_DWARF_REGSTR_TABLE */ 728c2ecf20Sopenharmony_ci#endif /* S390_DWARF_REGS_TABLE_H */ 73