GNU Linux-libre 4.19.264-gnu1
[releases.git] / tools / testing / selftests / powerpc / ptrace / ptrace-gpr.h
1 /*
2  * Copyright (C) 2015 Anshuman Khandual, IBM Corporation.
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License
6  * as published by the Free Software Foundation; either version
7  * 2 of the License, or (at your option) any later version.
8  */
9 #define GPR_1   1
10 #define GPR_2   2
11 #define GPR_3   3
12 #define GPR_4   4
13
14 #define FPR_1   0.001
15 #define FPR_2   0.002
16 #define FPR_3   0.003
17 #define FPR_4   0.004
18
19 #define FPR_1_REP 0x3f50624de0000000
20 #define FPR_2_REP 0x3f60624de0000000
21 #define FPR_3_REP 0x3f689374c0000000
22 #define FPR_4_REP 0x3f70624de0000000
23
24 /* Buffer must have 18 elements */
25 int validate_gpr(unsigned long *gpr, unsigned long val)
26 {
27         int i, found = 1;
28
29         for (i = 0; i < 18; i++) {
30                 if (gpr[i] != val) {
31                         printf("GPR[%d]: %lx Expected: %lx\n",
32                                 i+14, gpr[i], val);
33                         found = 0;
34                 }
35         }
36
37         if (!found)
38                 return TEST_FAIL;
39         return TEST_PASS;
40 }
41
42 /* Buffer must have 32 elements */
43 int validate_fpr(unsigned long *fpr, unsigned long val)
44 {
45         int i, found = 1;
46
47         for (i = 0; i < 32; i++) {
48                 if (fpr[i] != val) {
49                         printf("FPR[%d]: %lx Expected: %lx\n", i, fpr[i], val);
50                         found = 0;
51                 }
52         }
53
54         if (!found)
55                 return TEST_FAIL;
56         return TEST_PASS;
57 }
58
59 /* Buffer must have 32 elements */
60 int validate_fpr_float(float *fpr, float val)
61 {
62         int i, found = 1;
63
64         for (i = 0; i < 32; i++) {
65                 if (fpr[i] != val) {
66                         printf("FPR[%d]: %f Expected: %f\n", i, fpr[i], val);
67                         found = 0;
68                 }
69         }
70
71         if (!found)
72                 return TEST_FAIL;
73         return TEST_PASS;
74 }