xref: /openbmc/linux/tools/perf/arch/sh/util/dwarf-regs.c (revision 3b27d139)
10dd9ac63SMatt Fleming /*
20dd9ac63SMatt Fleming  * Mapping of DWARF debug register numbers into register names.
30dd9ac63SMatt Fleming  *
40dd9ac63SMatt Fleming  * Copyright (C) 2010 Matt Fleming <matt@console-pimps.org>
50dd9ac63SMatt Fleming  *
60dd9ac63SMatt Fleming  * This program is free software; you can redistribute it and/or modify
70dd9ac63SMatt Fleming  * it under the terms of the GNU General Public License as published by
80dd9ac63SMatt Fleming  * the Free Software Foundation; either version 2 of the License, or
90dd9ac63SMatt Fleming  * (at your option) any later version.
100dd9ac63SMatt Fleming  *
110dd9ac63SMatt Fleming  * This program is distributed in the hope that it will be useful,
120dd9ac63SMatt Fleming  * but WITHOUT ANY WARRANTY; without even the implied warranty of
130dd9ac63SMatt Fleming  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
140dd9ac63SMatt Fleming  * GNU General Public License for more details.
150dd9ac63SMatt Fleming  *
160dd9ac63SMatt Fleming  * You should have received a copy of the GNU General Public License
170dd9ac63SMatt Fleming  * along with this program; if not, write to the Free Software
180dd9ac63SMatt Fleming  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
190dd9ac63SMatt Fleming  *
200dd9ac63SMatt Fleming  */
210dd9ac63SMatt Fleming 
22861e10beSCody P Schafer #include <stddef.h>
230dd9ac63SMatt Fleming #include <dwarf-regs.h>
240dd9ac63SMatt Fleming 
250dd9ac63SMatt Fleming /*
260dd9ac63SMatt Fleming  * Generic dwarf analysis helpers
270dd9ac63SMatt Fleming  */
280dd9ac63SMatt Fleming 
290dd9ac63SMatt Fleming #define SH_MAX_REGS 18
300dd9ac63SMatt Fleming const char *sh_regs_table[SH_MAX_REGS] = {
310dd9ac63SMatt Fleming 	"r0",
320dd9ac63SMatt Fleming 	"r1",
330dd9ac63SMatt Fleming 	"r2",
340dd9ac63SMatt Fleming 	"r3",
350dd9ac63SMatt Fleming 	"r4",
360dd9ac63SMatt Fleming 	"r5",
370dd9ac63SMatt Fleming 	"r6",
380dd9ac63SMatt Fleming 	"r7",
390dd9ac63SMatt Fleming 	"r8",
400dd9ac63SMatt Fleming 	"r9",
410dd9ac63SMatt Fleming 	"r10",
420dd9ac63SMatt Fleming 	"r11",
430dd9ac63SMatt Fleming 	"r12",
440dd9ac63SMatt Fleming 	"r13",
450dd9ac63SMatt Fleming 	"r14",
460dd9ac63SMatt Fleming 	"r15",
470dd9ac63SMatt Fleming 	"pc",
480dd9ac63SMatt Fleming 	"pr",
490dd9ac63SMatt Fleming };
500dd9ac63SMatt Fleming 
510dd9ac63SMatt Fleming /* Return architecture dependent register string (for kprobe-tracer) */
520dd9ac63SMatt Fleming const char *get_arch_regstr(unsigned int n)
530dd9ac63SMatt Fleming {
543b27d139SWang Nan 	return (n < SH_MAX_REGS) ? sh_regs_table[n] : NULL;
550dd9ac63SMatt Fleming }
56