s390x-tevx-linux64.c 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. /* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
  2. Original: s390x-tevx-linux64.xml */
  3. #include "defs.h"
  4. #include "osabi.h"
  5. #include "target-descriptions.h"
  6. struct target_desc *tdesc_s390x_tevx_linux64;
  7. static void
  8. initialize_tdesc_s390x_tevx_linux64 (void)
  9. {
  10. target_desc_up result = allocate_target_description ();
  11. set_tdesc_architecture (result.get (), bfd_scan_arch ("s390:64-bit"));
  12. struct tdesc_feature *feature;
  13. feature = tdesc_create_feature (result.get (), "org.gnu.gdb.s390.core");
  14. tdesc_create_reg (feature, "pswm", 0, 1, "psw", 64, "uint64");
  15. tdesc_create_reg (feature, "pswa", 1, 1, "psw", 64, "uint64");
  16. tdesc_create_reg (feature, "r0", 2, 1, "general", 64, "uint64");
  17. tdesc_create_reg (feature, "r1", 3, 1, "general", 64, "uint64");
  18. tdesc_create_reg (feature, "r2", 4, 1, "general", 64, "uint64");
  19. tdesc_create_reg (feature, "r3", 5, 1, "general", 64, "uint64");
  20. tdesc_create_reg (feature, "r4", 6, 1, "general", 64, "uint64");
  21. tdesc_create_reg (feature, "r5", 7, 1, "general", 64, "uint64");
  22. tdesc_create_reg (feature, "r6", 8, 1, "general", 64, "uint64");
  23. tdesc_create_reg (feature, "r7", 9, 1, "general", 64, "uint64");
  24. tdesc_create_reg (feature, "r8", 10, 1, "general", 64, "uint64");
  25. tdesc_create_reg (feature, "r9", 11, 1, "general", 64, "uint64");
  26. tdesc_create_reg (feature, "r10", 12, 1, "general", 64, "uint64");
  27. tdesc_create_reg (feature, "r11", 13, 1, "general", 64, "uint64");
  28. tdesc_create_reg (feature, "r12", 14, 1, "general", 64, "uint64");
  29. tdesc_create_reg (feature, "r13", 15, 1, "general", 64, "uint64");
  30. tdesc_create_reg (feature, "r14", 16, 1, "general", 64, "uint64");
  31. tdesc_create_reg (feature, "r15", 17, 1, "general", 64, "uint64");
  32. feature = tdesc_create_feature (result.get (), "org.gnu.gdb.s390.acr");
  33. tdesc_create_reg (feature, "acr0", 18, 1, "access", 32, "uint32");
  34. tdesc_create_reg (feature, "acr1", 19, 1, "access", 32, "uint32");
  35. tdesc_create_reg (feature, "acr2", 20, 1, "access", 32, "uint32");
  36. tdesc_create_reg (feature, "acr3", 21, 1, "access", 32, "uint32");
  37. tdesc_create_reg (feature, "acr4", 22, 1, "access", 32, "uint32");
  38. tdesc_create_reg (feature, "acr5", 23, 1, "access", 32, "uint32");
  39. tdesc_create_reg (feature, "acr6", 24, 1, "access", 32, "uint32");
  40. tdesc_create_reg (feature, "acr7", 25, 1, "access", 32, "uint32");
  41. tdesc_create_reg (feature, "acr8", 26, 1, "access", 32, "uint32");
  42. tdesc_create_reg (feature, "acr9", 27, 1, "access", 32, "uint32");
  43. tdesc_create_reg (feature, "acr10", 28, 1, "access", 32, "uint32");
  44. tdesc_create_reg (feature, "acr11", 29, 1, "access", 32, "uint32");
  45. tdesc_create_reg (feature, "acr12", 30, 1, "access", 32, "uint32");
  46. tdesc_create_reg (feature, "acr13", 31, 1, "access", 32, "uint32");
  47. tdesc_create_reg (feature, "acr14", 32, 1, "access", 32, "uint32");
  48. tdesc_create_reg (feature, "acr15", 33, 1, "access", 32, "uint32");
  49. feature = tdesc_create_feature (result.get (), "org.gnu.gdb.s390.fpr");
  50. tdesc_create_reg (feature, "fpc", 34, 1, "float", 32, "uint32");
  51. tdesc_create_reg (feature, "f0", 35, 1, "float", 64, "ieee_double");
  52. tdesc_create_reg (feature, "f1", 36, 1, "float", 64, "ieee_double");
  53. tdesc_create_reg (feature, "f2", 37, 1, "float", 64, "ieee_double");
  54. tdesc_create_reg (feature, "f3", 38, 1, "float", 64, "ieee_double");
  55. tdesc_create_reg (feature, "f4", 39, 1, "float", 64, "ieee_double");
  56. tdesc_create_reg (feature, "f5", 40, 1, "float", 64, "ieee_double");
  57. tdesc_create_reg (feature, "f6", 41, 1, "float", 64, "ieee_double");
  58. tdesc_create_reg (feature, "f7", 42, 1, "float", 64, "ieee_double");
  59. tdesc_create_reg (feature, "f8", 43, 1, "float", 64, "ieee_double");
  60. tdesc_create_reg (feature, "f9", 44, 1, "float", 64, "ieee_double");
  61. tdesc_create_reg (feature, "f10", 45, 1, "float", 64, "ieee_double");
  62. tdesc_create_reg (feature, "f11", 46, 1, "float", 64, "ieee_double");
  63. tdesc_create_reg (feature, "f12", 47, 1, "float", 64, "ieee_double");
  64. tdesc_create_reg (feature, "f13", 48, 1, "float", 64, "ieee_double");
  65. tdesc_create_reg (feature, "f14", 49, 1, "float", 64, "ieee_double");
  66. tdesc_create_reg (feature, "f15", 50, 1, "float", 64, "ieee_double");
  67. feature = tdesc_create_feature (result.get (), "org.gnu.gdb.s390.linux");
  68. tdesc_create_reg (feature, "orig_r2", 51, 1, "system", 64, "uint64");
  69. tdesc_create_reg (feature, "last_break", 52, 0, "system", 64, "code_ptr");
  70. tdesc_create_reg (feature, "system_call", 53, 1, "system", 32, "uint32");
  71. feature = tdesc_create_feature (result.get (), "org.gnu.gdb.s390.tdb");
  72. tdesc_create_reg (feature, "tdb0", 54, 1, "tdb", 64, "uint64");
  73. tdesc_create_reg (feature, "tac", 55, 1, "tdb", 64, "uint64");
  74. tdesc_create_reg (feature, "tct", 56, 1, "tdb", 64, "uint64");
  75. tdesc_create_reg (feature, "atia", 57, 1, "tdb", 64, "uint64");
  76. tdesc_create_reg (feature, "tr0", 58, 1, "tdb", 64, "uint64");
  77. tdesc_create_reg (feature, "tr1", 59, 1, "tdb", 64, "uint64");
  78. tdesc_create_reg (feature, "tr2", 60, 1, "tdb", 64, "uint64");
  79. tdesc_create_reg (feature, "tr3", 61, 1, "tdb", 64, "uint64");
  80. tdesc_create_reg (feature, "tr4", 62, 1, "tdb", 64, "uint64");
  81. tdesc_create_reg (feature, "tr5", 63, 1, "tdb", 64, "uint64");
  82. tdesc_create_reg (feature, "tr6", 64, 1, "tdb", 64, "uint64");
  83. tdesc_create_reg (feature, "tr7", 65, 1, "tdb", 64, "uint64");
  84. tdesc_create_reg (feature, "tr8", 66, 1, "tdb", 64, "uint64");
  85. tdesc_create_reg (feature, "tr9", 67, 1, "tdb", 64, "uint64");
  86. tdesc_create_reg (feature, "tr10", 68, 1, "tdb", 64, "uint64");
  87. tdesc_create_reg (feature, "tr11", 69, 1, "tdb", 64, "uint64");
  88. tdesc_create_reg (feature, "tr12", 70, 1, "tdb", 64, "uint64");
  89. tdesc_create_reg (feature, "tr13", 71, 1, "tdb", 64, "uint64");
  90. tdesc_create_reg (feature, "tr14", 72, 1, "tdb", 64, "uint64");
  91. tdesc_create_reg (feature, "tr15", 73, 1, "tdb", 64, "uint64");
  92. feature = tdesc_create_feature (result.get (), "org.gnu.gdb.s390.vx");
  93. tdesc_type *element_type;
  94. element_type = tdesc_named_type (feature, "ieee_single");
  95. tdesc_create_vector (feature, "v4f", element_type, 4);
  96. element_type = tdesc_named_type (feature, "ieee_double");
  97. tdesc_create_vector (feature, "v2d", element_type, 2);
  98. element_type = tdesc_named_type (feature, "int8");
  99. tdesc_create_vector (feature, "v16i8", element_type, 16);
  100. element_type = tdesc_named_type (feature, "int16");
  101. tdesc_create_vector (feature, "v8i16", element_type, 8);
  102. element_type = tdesc_named_type (feature, "int32");
  103. tdesc_create_vector (feature, "v4i32", element_type, 4);
  104. element_type = tdesc_named_type (feature, "int64");
  105. tdesc_create_vector (feature, "v2i64", element_type, 2);
  106. tdesc_type_with_fields *type_with_fields;
  107. type_with_fields = tdesc_create_union (feature, "vec128");
  108. tdesc_type *field_type;
  109. field_type = tdesc_named_type (feature, "v4f");
  110. tdesc_add_field (type_with_fields, "v4_float", field_type);
  111. field_type = tdesc_named_type (feature, "v2d");
  112. tdesc_add_field (type_with_fields, "v2_double", field_type);
  113. field_type = tdesc_named_type (feature, "v16i8");
  114. tdesc_add_field (type_with_fields, "v16_int8", field_type);
  115. field_type = tdesc_named_type (feature, "v8i16");
  116. tdesc_add_field (type_with_fields, "v8_int16", field_type);
  117. field_type = tdesc_named_type (feature, "v4i32");
  118. tdesc_add_field (type_with_fields, "v4_int32", field_type);
  119. field_type = tdesc_named_type (feature, "v2i64");
  120. tdesc_add_field (type_with_fields, "v2_int64", field_type);
  121. field_type = tdesc_named_type (feature, "uint128");
  122. tdesc_add_field (type_with_fields, "uint128", field_type);
  123. tdesc_create_reg (feature, "v0l", 74, 1, NULL, 64, "uint64");
  124. tdesc_create_reg (feature, "v1l", 75, 1, NULL, 64, "uint64");
  125. tdesc_create_reg (feature, "v2l", 76, 1, NULL, 64, "uint64");
  126. tdesc_create_reg (feature, "v3l", 77, 1, NULL, 64, "uint64");
  127. tdesc_create_reg (feature, "v4l", 78, 1, NULL, 64, "uint64");
  128. tdesc_create_reg (feature, "v5l", 79, 1, NULL, 64, "uint64");
  129. tdesc_create_reg (feature, "v6l", 80, 1, NULL, 64, "uint64");
  130. tdesc_create_reg (feature, "v7l", 81, 1, NULL, 64, "uint64");
  131. tdesc_create_reg (feature, "v8l", 82, 1, NULL, 64, "uint64");
  132. tdesc_create_reg (feature, "v9l", 83, 1, NULL, 64, "uint64");
  133. tdesc_create_reg (feature, "v10l", 84, 1, NULL, 64, "uint64");
  134. tdesc_create_reg (feature, "v11l", 85, 1, NULL, 64, "uint64");
  135. tdesc_create_reg (feature, "v12l", 86, 1, NULL, 64, "uint64");
  136. tdesc_create_reg (feature, "v13l", 87, 1, NULL, 64, "uint64");
  137. tdesc_create_reg (feature, "v14l", 88, 1, NULL, 64, "uint64");
  138. tdesc_create_reg (feature, "v15l", 89, 1, NULL, 64, "uint64");
  139. tdesc_create_reg (feature, "v16", 90, 1, NULL, 128, "vec128");
  140. tdesc_create_reg (feature, "v17", 91, 1, NULL, 128, "vec128");
  141. tdesc_create_reg (feature, "v18", 92, 1, NULL, 128, "vec128");
  142. tdesc_create_reg (feature, "v19", 93, 1, NULL, 128, "vec128");
  143. tdesc_create_reg (feature, "v20", 94, 1, NULL, 128, "vec128");
  144. tdesc_create_reg (feature, "v21", 95, 1, NULL, 128, "vec128");
  145. tdesc_create_reg (feature, "v22", 96, 1, NULL, 128, "vec128");
  146. tdesc_create_reg (feature, "v23", 97, 1, NULL, 128, "vec128");
  147. tdesc_create_reg (feature, "v24", 98, 1, NULL, 128, "vec128");
  148. tdesc_create_reg (feature, "v25", 99, 1, NULL, 128, "vec128");
  149. tdesc_create_reg (feature, "v26", 100, 1, NULL, 128, "vec128");
  150. tdesc_create_reg (feature, "v27", 101, 1, NULL, 128, "vec128");
  151. tdesc_create_reg (feature, "v28", 102, 1, NULL, 128, "vec128");
  152. tdesc_create_reg (feature, "v29", 103, 1, NULL, 128, "vec128");
  153. tdesc_create_reg (feature, "v30", 104, 1, NULL, 128, "vec128");
  154. tdesc_create_reg (feature, "v31", 105, 1, NULL, 128, "vec128");
  155. tdesc_s390x_tevx_linux64 = result.release ();
  156. }