xref: /linux/tools/perf/util/perf-regs-arch/perf_regs_s390.c (revision 5000e7f61a1eb82fed98d5d0c8f19477033f0914)
1*5000e7f6SLeo Yan // SPDX-License-Identifier: GPL-2.0
2*5000e7f6SLeo Yan 
3*5000e7f6SLeo Yan #ifdef HAVE_PERF_REGS_SUPPORT
4*5000e7f6SLeo Yan 
5*5000e7f6SLeo Yan #include "../perf_regs.h"
6*5000e7f6SLeo Yan #include "../../../arch/s390/include/uapi/asm/perf_regs.h"
7*5000e7f6SLeo Yan 
8*5000e7f6SLeo Yan const char *__perf_reg_name_s390(int id)
9*5000e7f6SLeo Yan {
10*5000e7f6SLeo Yan 	switch (id) {
11*5000e7f6SLeo Yan 	case PERF_REG_S390_R0:
12*5000e7f6SLeo Yan 		return "R0";
13*5000e7f6SLeo Yan 	case PERF_REG_S390_R1:
14*5000e7f6SLeo Yan 		return "R1";
15*5000e7f6SLeo Yan 	case PERF_REG_S390_R2:
16*5000e7f6SLeo Yan 		return "R2";
17*5000e7f6SLeo Yan 	case PERF_REG_S390_R3:
18*5000e7f6SLeo Yan 		return "R3";
19*5000e7f6SLeo Yan 	case PERF_REG_S390_R4:
20*5000e7f6SLeo Yan 		return "R4";
21*5000e7f6SLeo Yan 	case PERF_REG_S390_R5:
22*5000e7f6SLeo Yan 		return "R5";
23*5000e7f6SLeo Yan 	case PERF_REG_S390_R6:
24*5000e7f6SLeo Yan 		return "R6";
25*5000e7f6SLeo Yan 	case PERF_REG_S390_R7:
26*5000e7f6SLeo Yan 		return "R7";
27*5000e7f6SLeo Yan 	case PERF_REG_S390_R8:
28*5000e7f6SLeo Yan 		return "R8";
29*5000e7f6SLeo Yan 	case PERF_REG_S390_R9:
30*5000e7f6SLeo Yan 		return "R9";
31*5000e7f6SLeo Yan 	case PERF_REG_S390_R10:
32*5000e7f6SLeo Yan 		return "R10";
33*5000e7f6SLeo Yan 	case PERF_REG_S390_R11:
34*5000e7f6SLeo Yan 		return "R11";
35*5000e7f6SLeo Yan 	case PERF_REG_S390_R12:
36*5000e7f6SLeo Yan 		return "R12";
37*5000e7f6SLeo Yan 	case PERF_REG_S390_R13:
38*5000e7f6SLeo Yan 		return "R13";
39*5000e7f6SLeo Yan 	case PERF_REG_S390_R14:
40*5000e7f6SLeo Yan 		return "R14";
41*5000e7f6SLeo Yan 	case PERF_REG_S390_R15:
42*5000e7f6SLeo Yan 		return "R15";
43*5000e7f6SLeo Yan 	case PERF_REG_S390_FP0:
44*5000e7f6SLeo Yan 		return "FP0";
45*5000e7f6SLeo Yan 	case PERF_REG_S390_FP1:
46*5000e7f6SLeo Yan 		return "FP1";
47*5000e7f6SLeo Yan 	case PERF_REG_S390_FP2:
48*5000e7f6SLeo Yan 		return "FP2";
49*5000e7f6SLeo Yan 	case PERF_REG_S390_FP3:
50*5000e7f6SLeo Yan 		return "FP3";
51*5000e7f6SLeo Yan 	case PERF_REG_S390_FP4:
52*5000e7f6SLeo Yan 		return "FP4";
53*5000e7f6SLeo Yan 	case PERF_REG_S390_FP5:
54*5000e7f6SLeo Yan 		return "FP5";
55*5000e7f6SLeo Yan 	case PERF_REG_S390_FP6:
56*5000e7f6SLeo Yan 		return "FP6";
57*5000e7f6SLeo Yan 	case PERF_REG_S390_FP7:
58*5000e7f6SLeo Yan 		return "FP7";
59*5000e7f6SLeo Yan 	case PERF_REG_S390_FP8:
60*5000e7f6SLeo Yan 		return "FP8";
61*5000e7f6SLeo Yan 	case PERF_REG_S390_FP9:
62*5000e7f6SLeo Yan 		return "FP9";
63*5000e7f6SLeo Yan 	case PERF_REG_S390_FP10:
64*5000e7f6SLeo Yan 		return "FP10";
65*5000e7f6SLeo Yan 	case PERF_REG_S390_FP11:
66*5000e7f6SLeo Yan 		return "FP11";
67*5000e7f6SLeo Yan 	case PERF_REG_S390_FP12:
68*5000e7f6SLeo Yan 		return "FP12";
69*5000e7f6SLeo Yan 	case PERF_REG_S390_FP13:
70*5000e7f6SLeo Yan 		return "FP13";
71*5000e7f6SLeo Yan 	case PERF_REG_S390_FP14:
72*5000e7f6SLeo Yan 		return "FP14";
73*5000e7f6SLeo Yan 	case PERF_REG_S390_FP15:
74*5000e7f6SLeo Yan 		return "FP15";
75*5000e7f6SLeo Yan 	case PERF_REG_S390_MASK:
76*5000e7f6SLeo Yan 		return "MASK";
77*5000e7f6SLeo Yan 	case PERF_REG_S390_PC:
78*5000e7f6SLeo Yan 		return "PC";
79*5000e7f6SLeo Yan 	default:
80*5000e7f6SLeo Yan 		return NULL;
81*5000e7f6SLeo Yan 	}
82*5000e7f6SLeo Yan 
83*5000e7f6SLeo Yan 	return NULL;
84*5000e7f6SLeo Yan }
85*5000e7f6SLeo Yan 
86*5000e7f6SLeo Yan #endif
87