Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef S390_DWARF_REGS_TABLE_H
0003 #define S390_DWARF_REGS_TABLE_H
0004 
0005 #define REG_DWARFNUM_NAME(reg, idx) [idx] = "%" #reg
0006 
0007 /*
0008  * For reference, see DWARF register mapping:
0009  * http://refspecs.linuxfoundation.org/ELF/zSeries/lzsabi0_s390/x1542.html
0010  */
0011 static const char * const s390_dwarf_regs[] = {
0012     "%r0", "%r1",  "%r2",  "%r3",  "%r4",  "%r5",  "%r6",  "%r7",
0013     "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15",
0014     REG_DWARFNUM_NAME(f0, 16),
0015     REG_DWARFNUM_NAME(f1, 20),
0016     REG_DWARFNUM_NAME(f2, 17),
0017     REG_DWARFNUM_NAME(f3, 21),
0018     REG_DWARFNUM_NAME(f4, 18),
0019     REG_DWARFNUM_NAME(f5, 22),
0020     REG_DWARFNUM_NAME(f6, 19),
0021     REG_DWARFNUM_NAME(f7, 23),
0022     REG_DWARFNUM_NAME(f8, 24),
0023     REG_DWARFNUM_NAME(f9, 28),
0024     REG_DWARFNUM_NAME(f10, 25),
0025     REG_DWARFNUM_NAME(f11, 29),
0026     REG_DWARFNUM_NAME(f12, 26),
0027     REG_DWARFNUM_NAME(f13, 30),
0028     REG_DWARFNUM_NAME(f14, 27),
0029     REG_DWARFNUM_NAME(f15, 31),
0030     REG_DWARFNUM_NAME(c0, 32),
0031     REG_DWARFNUM_NAME(c1, 33),
0032     REG_DWARFNUM_NAME(c2, 34),
0033     REG_DWARFNUM_NAME(c3, 35),
0034     REG_DWARFNUM_NAME(c4, 36),
0035     REG_DWARFNUM_NAME(c5, 37),
0036     REG_DWARFNUM_NAME(c6, 38),
0037     REG_DWARFNUM_NAME(c7, 39),
0038     REG_DWARFNUM_NAME(c8, 40),
0039     REG_DWARFNUM_NAME(c9, 41),
0040     REG_DWARFNUM_NAME(c10, 42),
0041     REG_DWARFNUM_NAME(c11, 43),
0042     REG_DWARFNUM_NAME(c12, 44),
0043     REG_DWARFNUM_NAME(c13, 45),
0044     REG_DWARFNUM_NAME(c14, 46),
0045     REG_DWARFNUM_NAME(c15, 47),
0046     REG_DWARFNUM_NAME(a0, 48),
0047     REG_DWARFNUM_NAME(a1, 49),
0048     REG_DWARFNUM_NAME(a2, 50),
0049     REG_DWARFNUM_NAME(a3, 51),
0050     REG_DWARFNUM_NAME(a4, 52),
0051     REG_DWARFNUM_NAME(a5, 53),
0052     REG_DWARFNUM_NAME(a6, 54),
0053     REG_DWARFNUM_NAME(a7, 55),
0054     REG_DWARFNUM_NAME(a8, 56),
0055     REG_DWARFNUM_NAME(a9, 57),
0056     REG_DWARFNUM_NAME(a10, 58),
0057     REG_DWARFNUM_NAME(a11, 59),
0058     REG_DWARFNUM_NAME(a12, 60),
0059     REG_DWARFNUM_NAME(a13, 61),
0060     REG_DWARFNUM_NAME(a14, 62),
0061     REG_DWARFNUM_NAME(a15, 63),
0062     REG_DWARFNUM_NAME(pswm, 64),
0063     REG_DWARFNUM_NAME(pswa, 65),
0064 };
0065 
0066 #ifdef DEFINE_DWARF_REGSTR_TABLE
0067 /* This is included in perf/util/dwarf-regs.c */
0068 
0069 #define s390_regstr_tbl s390_dwarf_regs
0070 
0071 #endif  /* DEFINE_DWARF_REGSTR_TABLE */
0072 #endif  /* S390_DWARF_REGS_TABLE_H */