xref: /openbmc/linux/tools/perf/arch/sh/util/dwarf-regs.c (revision 1a59d1b8)
11a59d1b8SThomas Gleixner // SPDX-License-Identifier: GPL-2.0-or-later
20dd9ac63SMatt Fleming /*
30dd9ac63SMatt Fleming  * Mapping of DWARF debug register numbers into register names.
40dd9ac63SMatt Fleming  *
50dd9ac63SMatt Fleming  * Copyright (C) 2010 Matt Fleming <matt@console-pimps.org>
60dd9ac63SMatt Fleming  */
70dd9ac63SMatt Fleming 
8861e10beSCody P Schafer #include <stddef.h>
90dd9ac63SMatt Fleming #include <dwarf-regs.h>
100dd9ac63SMatt Fleming 
110dd9ac63SMatt Fleming /*
120dd9ac63SMatt Fleming  * Generic dwarf analysis helpers
130dd9ac63SMatt Fleming  */
140dd9ac63SMatt Fleming 
150dd9ac63SMatt Fleming #define SH_MAX_REGS 18
160dd9ac63SMatt Fleming const char *sh_regs_table[SH_MAX_REGS] = {
170dd9ac63SMatt Fleming 	"r0",
180dd9ac63SMatt Fleming 	"r1",
190dd9ac63SMatt Fleming 	"r2",
200dd9ac63SMatt Fleming 	"r3",
210dd9ac63SMatt Fleming 	"r4",
220dd9ac63SMatt Fleming 	"r5",
230dd9ac63SMatt Fleming 	"r6",
240dd9ac63SMatt Fleming 	"r7",
250dd9ac63SMatt Fleming 	"r8",
260dd9ac63SMatt Fleming 	"r9",
270dd9ac63SMatt Fleming 	"r10",
280dd9ac63SMatt Fleming 	"r11",
290dd9ac63SMatt Fleming 	"r12",
300dd9ac63SMatt Fleming 	"r13",
310dd9ac63SMatt Fleming 	"r14",
320dd9ac63SMatt Fleming 	"r15",
330dd9ac63SMatt Fleming 	"pc",
340dd9ac63SMatt Fleming 	"pr",
350dd9ac63SMatt Fleming };
360dd9ac63SMatt Fleming 
370dd9ac63SMatt Fleming /* Return architecture dependent register string (for kprobe-tracer) */
get_arch_regstr(unsigned int n)380dd9ac63SMatt Fleming const char *get_arch_regstr(unsigned int n)
390dd9ac63SMatt Fleming {
403b27d139SWang Nan 	return (n < SH_MAX_REGS) ? sh_regs_table[n] : NULL;
410dd9ac63SMatt Fleming }
42