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