ptrace-gpr.h 1.3 KB

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