162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#ifndef S390_DWARF_REGS_TABLE_H 362306a36Sopenharmony_ci#define S390_DWARF_REGS_TABLE_H 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#define REG_DWARFNUM_NAME(reg, idx) [idx] = "%" #reg 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci/* 862306a36Sopenharmony_ci * For reference, see DWARF register mapping: 962306a36Sopenharmony_ci * http://refspecs.linuxfoundation.org/ELF/zSeries/lzsabi0_s390/x1542.html 1062306a36Sopenharmony_ci */ 1162306a36Sopenharmony_cistatic const char * const s390_dwarf_regs[] = { 1262306a36Sopenharmony_ci "%r0", "%r1", "%r2", "%r3", "%r4", "%r5", "%r6", "%r7", 1362306a36Sopenharmony_ci "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15", 1462306a36Sopenharmony_ci REG_DWARFNUM_NAME(f0, 16), 1562306a36Sopenharmony_ci REG_DWARFNUM_NAME(f1, 20), 1662306a36Sopenharmony_ci REG_DWARFNUM_NAME(f2, 17), 1762306a36Sopenharmony_ci REG_DWARFNUM_NAME(f3, 21), 1862306a36Sopenharmony_ci REG_DWARFNUM_NAME(f4, 18), 1962306a36Sopenharmony_ci REG_DWARFNUM_NAME(f5, 22), 2062306a36Sopenharmony_ci REG_DWARFNUM_NAME(f6, 19), 2162306a36Sopenharmony_ci REG_DWARFNUM_NAME(f7, 23), 2262306a36Sopenharmony_ci REG_DWARFNUM_NAME(f8, 24), 2362306a36Sopenharmony_ci REG_DWARFNUM_NAME(f9, 28), 2462306a36Sopenharmony_ci REG_DWARFNUM_NAME(f10, 25), 2562306a36Sopenharmony_ci REG_DWARFNUM_NAME(f11, 29), 2662306a36Sopenharmony_ci REG_DWARFNUM_NAME(f12, 26), 2762306a36Sopenharmony_ci REG_DWARFNUM_NAME(f13, 30), 2862306a36Sopenharmony_ci REG_DWARFNUM_NAME(f14, 27), 2962306a36Sopenharmony_ci REG_DWARFNUM_NAME(f15, 31), 3062306a36Sopenharmony_ci REG_DWARFNUM_NAME(c0, 32), 3162306a36Sopenharmony_ci REG_DWARFNUM_NAME(c1, 33), 3262306a36Sopenharmony_ci REG_DWARFNUM_NAME(c2, 34), 3362306a36Sopenharmony_ci REG_DWARFNUM_NAME(c3, 35), 3462306a36Sopenharmony_ci REG_DWARFNUM_NAME(c4, 36), 3562306a36Sopenharmony_ci REG_DWARFNUM_NAME(c5, 37), 3662306a36Sopenharmony_ci REG_DWARFNUM_NAME(c6, 38), 3762306a36Sopenharmony_ci REG_DWARFNUM_NAME(c7, 39), 3862306a36Sopenharmony_ci REG_DWARFNUM_NAME(c8, 40), 3962306a36Sopenharmony_ci REG_DWARFNUM_NAME(c9, 41), 4062306a36Sopenharmony_ci REG_DWARFNUM_NAME(c10, 42), 4162306a36Sopenharmony_ci REG_DWARFNUM_NAME(c11, 43), 4262306a36Sopenharmony_ci REG_DWARFNUM_NAME(c12, 44), 4362306a36Sopenharmony_ci REG_DWARFNUM_NAME(c13, 45), 4462306a36Sopenharmony_ci REG_DWARFNUM_NAME(c14, 46), 4562306a36Sopenharmony_ci REG_DWARFNUM_NAME(c15, 47), 4662306a36Sopenharmony_ci REG_DWARFNUM_NAME(a0, 48), 4762306a36Sopenharmony_ci REG_DWARFNUM_NAME(a1, 49), 4862306a36Sopenharmony_ci REG_DWARFNUM_NAME(a2, 50), 4962306a36Sopenharmony_ci REG_DWARFNUM_NAME(a3, 51), 5062306a36Sopenharmony_ci REG_DWARFNUM_NAME(a4, 52), 5162306a36Sopenharmony_ci REG_DWARFNUM_NAME(a5, 53), 5262306a36Sopenharmony_ci REG_DWARFNUM_NAME(a6, 54), 5362306a36Sopenharmony_ci REG_DWARFNUM_NAME(a7, 55), 5462306a36Sopenharmony_ci REG_DWARFNUM_NAME(a8, 56), 5562306a36Sopenharmony_ci REG_DWARFNUM_NAME(a9, 57), 5662306a36Sopenharmony_ci REG_DWARFNUM_NAME(a10, 58), 5762306a36Sopenharmony_ci REG_DWARFNUM_NAME(a11, 59), 5862306a36Sopenharmony_ci REG_DWARFNUM_NAME(a12, 60), 5962306a36Sopenharmony_ci REG_DWARFNUM_NAME(a13, 61), 6062306a36Sopenharmony_ci REG_DWARFNUM_NAME(a14, 62), 6162306a36Sopenharmony_ci REG_DWARFNUM_NAME(a15, 63), 6262306a36Sopenharmony_ci REG_DWARFNUM_NAME(pswm, 64), 6362306a36Sopenharmony_ci REG_DWARFNUM_NAME(pswa, 65), 6462306a36Sopenharmony_ci}; 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci#ifdef DEFINE_DWARF_REGSTR_TABLE 6762306a36Sopenharmony_ci/* This is included in perf/util/dwarf-regs.c */ 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci#define s390_regstr_tbl s390_dwarf_regs 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci#endif /* DEFINE_DWARF_REGSTR_TABLE */ 7262306a36Sopenharmony_ci#endif /* S390_DWARF_REGS_TABLE_H */ 73