1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun * Copyright (C) 2015 Anshuman Khandual, IBM Corporation.
4*4882a593Smuzhiyun */
5*4882a593Smuzhiyun #define GPR_1 1
6*4882a593Smuzhiyun #define GPR_2 2
7*4882a593Smuzhiyun #define GPR_3 3
8*4882a593Smuzhiyun #define GPR_4 4
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun #define FPR_1 0.001
11*4882a593Smuzhiyun #define FPR_2 0.002
12*4882a593Smuzhiyun #define FPR_3 0.003
13*4882a593Smuzhiyun #define FPR_4 0.004
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun #define FPR_1_REP 0x3f50624de0000000
16*4882a593Smuzhiyun #define FPR_2_REP 0x3f60624de0000000
17*4882a593Smuzhiyun #define FPR_3_REP 0x3f689374c0000000
18*4882a593Smuzhiyun #define FPR_4_REP 0x3f70624de0000000
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun /* Buffer must have 18 elements */
validate_gpr(unsigned long * gpr,unsigned long val)21*4882a593Smuzhiyun int validate_gpr(unsigned long *gpr, unsigned long val)
22*4882a593Smuzhiyun {
23*4882a593Smuzhiyun int i, found = 1;
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun for (i = 0; i < 18; i++) {
26*4882a593Smuzhiyun if (gpr[i] != val) {
27*4882a593Smuzhiyun printf("GPR[%d]: %lx Expected: %lx\n",
28*4882a593Smuzhiyun i+14, gpr[i], val);
29*4882a593Smuzhiyun found = 0;
30*4882a593Smuzhiyun }
31*4882a593Smuzhiyun }
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun if (!found)
34*4882a593Smuzhiyun return TEST_FAIL;
35*4882a593Smuzhiyun return TEST_PASS;
36*4882a593Smuzhiyun }
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun /* Buffer must have 32 elements */
validate_fpr(unsigned long * fpr,unsigned long val)39*4882a593Smuzhiyun int validate_fpr(unsigned long *fpr, unsigned long val)
40*4882a593Smuzhiyun {
41*4882a593Smuzhiyun int i, found = 1;
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun for (i = 0; i < 32; i++) {
44*4882a593Smuzhiyun if (fpr[i] != val) {
45*4882a593Smuzhiyun printf("FPR[%d]: %lx Expected: %lx\n", i, fpr[i], val);
46*4882a593Smuzhiyun found = 0;
47*4882a593Smuzhiyun }
48*4882a593Smuzhiyun }
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun if (!found)
51*4882a593Smuzhiyun return TEST_FAIL;
52*4882a593Smuzhiyun return TEST_PASS;
53*4882a593Smuzhiyun }
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun /* Buffer must have 32 elements */
validate_fpr_float(float * fpr,float val)56*4882a593Smuzhiyun int validate_fpr_float(float *fpr, float val)
57*4882a593Smuzhiyun {
58*4882a593Smuzhiyun int i, found = 1;
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun for (i = 0; i < 32; i++) {
61*4882a593Smuzhiyun if (fpr[i] != val) {
62*4882a593Smuzhiyun printf("FPR[%d]: %f Expected: %f\n", i, fpr[i], val);
63*4882a593Smuzhiyun found = 0;
64*4882a593Smuzhiyun }
65*4882a593Smuzhiyun }
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun if (!found)
68*4882a593Smuzhiyun return TEST_FAIL;
69*4882a593Smuzhiyun return TEST_PASS;
70*4882a593Smuzhiyun }
71