1 // SPDX-License-Identifier: GPL-2.0
2 
3 #ifdef HAVE_PERF_REGS_SUPPORT
4 
5 #include "../perf_regs.h"
6 #include "../../../arch/mips/include/uapi/asm/perf_regs.h"
7 
8 const char *__perf_reg_name_mips(int id)
9 {
10 	switch (id) {
11 	case PERF_REG_MIPS_PC:
12 		return "PC";
13 	case PERF_REG_MIPS_R1:
14 		return "$1";
15 	case PERF_REG_MIPS_R2:
16 		return "$2";
17 	case PERF_REG_MIPS_R3:
18 		return "$3";
19 	case PERF_REG_MIPS_R4:
20 		return "$4";
21 	case PERF_REG_MIPS_R5:
22 		return "$5";
23 	case PERF_REG_MIPS_R6:
24 		return "$6";
25 	case PERF_REG_MIPS_R7:
26 		return "$7";
27 	case PERF_REG_MIPS_R8:
28 		return "$8";
29 	case PERF_REG_MIPS_R9:
30 		return "$9";
31 	case PERF_REG_MIPS_R10:
32 		return "$10";
33 	case PERF_REG_MIPS_R11:
34 		return "$11";
35 	case PERF_REG_MIPS_R12:
36 		return "$12";
37 	case PERF_REG_MIPS_R13:
38 		return "$13";
39 	case PERF_REG_MIPS_R14:
40 		return "$14";
41 	case PERF_REG_MIPS_R15:
42 		return "$15";
43 	case PERF_REG_MIPS_R16:
44 		return "$16";
45 	case PERF_REG_MIPS_R17:
46 		return "$17";
47 	case PERF_REG_MIPS_R18:
48 		return "$18";
49 	case PERF_REG_MIPS_R19:
50 		return "$19";
51 	case PERF_REG_MIPS_R20:
52 		return "$20";
53 	case PERF_REG_MIPS_R21:
54 		return "$21";
55 	case PERF_REG_MIPS_R22:
56 		return "$22";
57 	case PERF_REG_MIPS_R23:
58 		return "$23";
59 	case PERF_REG_MIPS_R24:
60 		return "$24";
61 	case PERF_REG_MIPS_R25:
62 		return "$25";
63 	case PERF_REG_MIPS_R28:
64 		return "$28";
65 	case PERF_REG_MIPS_R29:
66 		return "$29";
67 	case PERF_REG_MIPS_R30:
68 		return "$30";
69 	case PERF_REG_MIPS_R31:
70 		return "$31";
71 	default:
72 		break;
73 	}
74 	return NULL;
75 }
76 
77 uint64_t __perf_reg_ip_mips(void)
78 {
79 	return PERF_REG_MIPS_PC;
80 }
81 
82 uint64_t __perf_reg_sp_mips(void)
83 {
84 	return PERF_REG_MIPS_R29;
85 }
86 
87 #endif
88