gdb_xml.h 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. #ifndef __ASM_GDB_XML_H_
  3. #define __ASM_GDB_XML_H_
  4. const char riscv_gdb_stub_feature[64] =
  5. "PacketSize=800;qXfer:features:read+;";
  6. static const char gdb_xfer_read_target[31] = "qXfer:features:read:target.xml:";
  7. #ifdef CONFIG_64BIT
  8. static const char gdb_xfer_read_cpuxml[39] =
  9. "qXfer:features:read:riscv-64bit-cpu.xml";
  10. static const char riscv_gdb_stub_target_desc[256] =
  11. "l<?xml version=\"1.0\"?>"
  12. "<!DOCTYPE target SYSTEM \"gdb-target.dtd\">"
  13. "<target>"
  14. "<xi:include href=\"riscv-64bit-cpu.xml\"/>"
  15. "</target>";
  16. static const char riscv_gdb_stub_cpuxml[2048] =
  17. "l<?xml version=\"1.0\"?>"
  18. "<!DOCTYPE feature SYSTEM \"gdb-target.dtd\">"
  19. "<feature name=\"org.gnu.gdb.riscv.cpu\">"
  20. "<reg name=\""DBG_REG_ZERO"\" bitsize=\"64\" type=\"int\" regnum=\"0\"/>"
  21. "<reg name=\""DBG_REG_RA"\" bitsize=\"64\" type=\"code_ptr\"/>"
  22. "<reg name=\""DBG_REG_SP"\" bitsize=\"64\" type=\"data_ptr\"/>"
  23. "<reg name=\""DBG_REG_GP"\" bitsize=\"64\" type=\"data_ptr\"/>"
  24. "<reg name=\""DBG_REG_TP"\" bitsize=\"64\" type=\"data_ptr\"/>"
  25. "<reg name=\""DBG_REG_T0"\" bitsize=\"64\" type=\"int\"/>"
  26. "<reg name=\""DBG_REG_T1"\" bitsize=\"64\" type=\"int\"/>"
  27. "<reg name=\""DBG_REG_T2"\" bitsize=\"64\" type=\"int\"/>"
  28. "<reg name=\""DBG_REG_FP"\" bitsize=\"64\" type=\"data_ptr\"/>"
  29. "<reg name=\""DBG_REG_S1"\" bitsize=\"64\" type=\"int\"/>"
  30. "<reg name=\""DBG_REG_A0"\" bitsize=\"64\" type=\"int\"/>"
  31. "<reg name=\""DBG_REG_A1"\" bitsize=\"64\" type=\"int\"/>"
  32. "<reg name=\""DBG_REG_A2"\" bitsize=\"64\" type=\"int\"/>"
  33. "<reg name=\""DBG_REG_A3"\" bitsize=\"64\" type=\"int\"/>"
  34. "<reg name=\""DBG_REG_A4"\" bitsize=\"64\" type=\"int\"/>"
  35. "<reg name=\""DBG_REG_A5"\" bitsize=\"64\" type=\"int\"/>"
  36. "<reg name=\""DBG_REG_A6"\" bitsize=\"64\" type=\"int\"/>"
  37. "<reg name=\""DBG_REG_A7"\" bitsize=\"64\" type=\"int\"/>"
  38. "<reg name=\""DBG_REG_S2"\" bitsize=\"64\" type=\"int\"/>"
  39. "<reg name=\""DBG_REG_S3"\" bitsize=\"64\" type=\"int\"/>"
  40. "<reg name=\""DBG_REG_S4"\" bitsize=\"64\" type=\"int\"/>"
  41. "<reg name=\""DBG_REG_S5"\" bitsize=\"64\" type=\"int\"/>"
  42. "<reg name=\""DBG_REG_S6"\" bitsize=\"64\" type=\"int\"/>"
  43. "<reg name=\""DBG_REG_S7"\" bitsize=\"64\" type=\"int\"/>"
  44. "<reg name=\""DBG_REG_S8"\" bitsize=\"64\" type=\"int\"/>"
  45. "<reg name=\""DBG_REG_S9"\" bitsize=\"64\" type=\"int\"/>"
  46. "<reg name=\""DBG_REG_S10"\" bitsize=\"64\" type=\"int\"/>"
  47. "<reg name=\""DBG_REG_S11"\" bitsize=\"64\" type=\"int\"/>"
  48. "<reg name=\""DBG_REG_T3"\" bitsize=\"64\" type=\"int\"/>"
  49. "<reg name=\""DBG_REG_T4"\" bitsize=\"64\" type=\"int\"/>"
  50. "<reg name=\""DBG_REG_T5"\" bitsize=\"64\" type=\"int\"/>"
  51. "<reg name=\""DBG_REG_T6"\" bitsize=\"64\" type=\"int\"/>"
  52. "<reg name=\""DBG_REG_EPC"\" bitsize=\"64\" type=\"code_ptr\"/>"
  53. "<reg name=\""DBG_REG_STATUS"\" bitsize=\"64\" type=\"int\"/>"
  54. "<reg name=\""DBG_REG_BADADDR"\" bitsize=\"64\" type=\"int\"/>"
  55. "<reg name=\""DBG_REG_CAUSE"\" bitsize=\"64\" type=\"int\"/>"
  56. "</feature>";
  57. #else
  58. static const char gdb_xfer_read_cpuxml[39] =
  59. "qXfer:features:read:riscv-32bit-cpu.xml";
  60. static const char riscv_gdb_stub_target_desc[256] =
  61. "l<?xml version=\"1.0\"?>"
  62. "<!DOCTYPE target SYSTEM \"gdb-target.dtd\">"
  63. "<target>"
  64. "<xi:include href=\"riscv-32bit-cpu.xml\"/>"
  65. "</target>";
  66. static const char riscv_gdb_stub_cpuxml[2048] =
  67. "l<?xml version=\"1.0\"?>"
  68. "<!DOCTYPE feature SYSTEM \"gdb-target.dtd\">"
  69. "<feature name=\"org.gnu.gdb.riscv.cpu\">"
  70. "<reg name=\""DBG_REG_ZERO"\" bitsize=\"32\" type=\"int\" regnum=\"0\"/>"
  71. "<reg name=\""DBG_REG_RA"\" bitsize=\"32\" type=\"code_ptr\"/>"
  72. "<reg name=\""DBG_REG_SP"\" bitsize=\"32\" type=\"data_ptr\"/>"
  73. "<reg name=\""DBG_REG_GP"\" bitsize=\"32\" type=\"data_ptr\"/>"
  74. "<reg name=\""DBG_REG_TP"\" bitsize=\"32\" type=\"data_ptr\"/>"
  75. "<reg name=\""DBG_REG_T0"\" bitsize=\"32\" type=\"int\"/>"
  76. "<reg name=\""DBG_REG_T1"\" bitsize=\"32\" type=\"int\"/>"
  77. "<reg name=\""DBG_REG_T2"\" bitsize=\"32\" type=\"int\"/>"
  78. "<reg name=\""DBG_REG_FP"\" bitsize=\"32\" type=\"data_ptr\"/>"
  79. "<reg name=\""DBG_REG_S1"\" bitsize=\"32\" type=\"int\"/>"
  80. "<reg name=\""DBG_REG_A0"\" bitsize=\"32\" type=\"int\"/>"
  81. "<reg name=\""DBG_REG_A1"\" bitsize=\"32\" type=\"int\"/>"
  82. "<reg name=\""DBG_REG_A2"\" bitsize=\"32\" type=\"int\"/>"
  83. "<reg name=\""DBG_REG_A3"\" bitsize=\"32\" type=\"int\"/>"
  84. "<reg name=\""DBG_REG_A4"\" bitsize=\"32\" type=\"int\"/>"
  85. "<reg name=\""DBG_REG_A5"\" bitsize=\"32\" type=\"int\"/>"
  86. "<reg name=\""DBG_REG_A6"\" bitsize=\"32\" type=\"int\"/>"
  87. "<reg name=\""DBG_REG_A7"\" bitsize=\"32\" type=\"int\"/>"
  88. "<reg name=\""DBG_REG_S2"\" bitsize=\"32\" type=\"int\"/>"
  89. "<reg name=\""DBG_REG_S3"\" bitsize=\"32\" type=\"int\"/>"
  90. "<reg name=\""DBG_REG_S4"\" bitsize=\"32\" type=\"int\"/>"
  91. "<reg name=\""DBG_REG_S5"\" bitsize=\"32\" type=\"int\"/>"
  92. "<reg name=\""DBG_REG_S6"\" bitsize=\"32\" type=\"int\"/>"
  93. "<reg name=\""DBG_REG_S7"\" bitsize=\"32\" type=\"int\"/>"
  94. "<reg name=\""DBG_REG_S8"\" bitsize=\"32\" type=\"int\"/>"
  95. "<reg name=\""DBG_REG_S9"\" bitsize=\"32\" type=\"int\"/>"
  96. "<reg name=\""DBG_REG_S10"\" bitsize=\"32\" type=\"int\"/>"
  97. "<reg name=\""DBG_REG_S11"\" bitsize=\"32\" type=\"int\"/>"
  98. "<reg name=\""DBG_REG_T3"\" bitsize=\"32\" type=\"int\"/>"
  99. "<reg name=\""DBG_REG_T4"\" bitsize=\"32\" type=\"int\"/>"
  100. "<reg name=\""DBG_REG_T5"\" bitsize=\"32\" type=\"int\"/>"
  101. "<reg name=\""DBG_REG_T6"\" bitsize=\"32\" type=\"int\"/>"
  102. "<reg name=\""DBG_REG_EPC"\" bitsize=\"32\" type=\"code_ptr\"/>"
  103. "<reg name=\""DBG_REG_STATUS"\" bitsize=\"32\" type=\"int\"/>"
  104. "<reg name=\""DBG_REG_BADADDR"\" bitsize=\"32\" type=\"int\"/>"
  105. "<reg name=\""DBG_REG_CAUSE"\" bitsize=\"32\" type=\"int\"/>"
  106. "</feature>";
  107. #endif
  108. #endif