hexcore-capstone 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/LICENSE +26 -0
  2. package/README.md +191 -0
  3. package/binding.gyp +168 -0
  4. package/deps/capstone/LEB128.h +38 -0
  5. package/deps/capstone/MCDisassembler.h +14 -0
  6. package/deps/capstone/MCFixedLenDisassembler.h +32 -0
  7. package/deps/capstone/MCInst.c +270 -0
  8. package/deps/capstone/MCInst.h +165 -0
  9. package/deps/capstone/MCInstrDesc.c +41 -0
  10. package/deps/capstone/MCInstrDesc.h +167 -0
  11. package/deps/capstone/MCRegisterInfo.c +151 -0
  12. package/deps/capstone/MCRegisterInfo.h +116 -0
  13. package/deps/capstone/Mapping.c +254 -0
  14. package/deps/capstone/Mapping.h +174 -0
  15. package/deps/capstone/MathExtras.h +442 -0
  16. package/deps/capstone/SStream.c +181 -0
  17. package/deps/capstone/SStream.h +40 -0
  18. package/deps/capstone/arch/AArch64/AArch64AddressingModes.h +945 -0
  19. package/deps/capstone/arch/AArch64/AArch64BaseInfo.c +77 -0
  20. package/deps/capstone/arch/AArch64/AArch64BaseInfo.h +585 -0
  21. package/deps/capstone/arch/AArch64/AArch64Disassembler.c +2280 -0
  22. package/deps/capstone/arch/AArch64/AArch64Disassembler.h +18 -0
  23. package/deps/capstone/arch/AArch64/AArch64GenAsmWriter.inc +26589 -0
  24. package/deps/capstone/arch/AArch64/AArch64GenDisassemblerTables.inc +27322 -0
  25. package/deps/capstone/arch/AArch64/AArch64GenInstrInfo.inc +13194 -0
  26. package/deps/capstone/arch/AArch64/AArch64GenRegisterInfo.inc +3814 -0
  27. package/deps/capstone/arch/AArch64/AArch64GenRegisterName.inc +714 -0
  28. package/deps/capstone/arch/AArch64/AArch64GenRegisterV.inc +673 -0
  29. package/deps/capstone/arch/AArch64/AArch64GenSubtargetInfo.inc +229 -0
  30. package/deps/capstone/arch/AArch64/AArch64GenSystemOperands.inc +2863 -0
  31. package/deps/capstone/arch/AArch64/AArch64GenSystemOperands_enum.inc +21 -0
  32. package/deps/capstone/arch/AArch64/AArch64InstPrinter.c +3029 -0
  33. package/deps/capstone/arch/AArch64/AArch64InstPrinter.h +28 -0
  34. package/deps/capstone/arch/AArch64/AArch64Mapping.c +883 -0
  35. package/deps/capstone/arch/AArch64/AArch64Mapping.h +43 -0
  36. package/deps/capstone/arch/AArch64/AArch64MappingInsn.inc +37790 -0
  37. package/deps/capstone/arch/AArch64/AArch64MappingInsnName.inc +1282 -0
  38. package/deps/capstone/arch/AArch64/AArch64MappingInsnOp.inc +26994 -0
  39. package/deps/capstone/arch/AArch64/AArch64Module.c +44 -0
  40. package/deps/capstone/arch/AArch64/AArch64Module.h +12 -0
  41. package/deps/capstone/arch/ARM/ARMAddressingModes.h +698 -0
  42. package/deps/capstone/arch/ARM/ARMBaseInfo.h +486 -0
  43. package/deps/capstone/arch/ARM/ARMDisassembler.c +5763 -0
  44. package/deps/capstone/arch/ARM/ARMDisassembler.h +18 -0
  45. package/deps/capstone/arch/ARM/ARMGenAsmWriter.inc +9545 -0
  46. package/deps/capstone/arch/ARM/ARMGenDisassemblerTables.inc +15185 -0
  47. package/deps/capstone/arch/ARM/ARMGenInstrInfo.inc +6632 -0
  48. package/deps/capstone/arch/ARM/ARMGenRegisterInfo.inc +2102 -0
  49. package/deps/capstone/arch/ARM/ARMGenRegisterName.inc +231 -0
  50. package/deps/capstone/arch/ARM/ARMGenRegisterName_digit.inc +231 -0
  51. package/deps/capstone/arch/ARM/ARMGenSubtargetInfo.inc +162 -0
  52. package/deps/capstone/arch/ARM/ARMGenSystemRegister.inc +270 -0
  53. package/deps/capstone/arch/ARM/ARMInstPrinter.c +3364 -0
  54. package/deps/capstone/arch/ARM/ARMInstPrinter.h +43 -0
  55. package/deps/capstone/arch/ARM/ARMMapping.c +551 -0
  56. package/deps/capstone/arch/ARM/ARMMapping.h +40 -0
  57. package/deps/capstone/arch/ARM/ARMMappingInsn.inc +18772 -0
  58. package/deps/capstone/arch/ARM/ARMMappingInsnName.inc +475 -0
  59. package/deps/capstone/arch/ARM/ARMMappingInsnOp.inc +10729 -0
  60. package/deps/capstone/arch/ARM/ARMModule.c +63 -0
  61. package/deps/capstone/arch/ARM/ARMModule.h +12 -0
  62. package/deps/capstone/arch/BPF/BPFConstants.h +88 -0
  63. package/deps/capstone/arch/BPF/BPFDisassembler.c +464 -0
  64. package/deps/capstone/arch/BPF/BPFDisassembler.h +27 -0
  65. package/deps/capstone/arch/BPF/BPFInstPrinter.c +285 -0
  66. package/deps/capstone/arch/BPF/BPFInstPrinter.h +16 -0
  67. package/deps/capstone/arch/BPF/BPFMapping.c +513 -0
  68. package/deps/capstone/arch/BPF/BPFMapping.h +21 -0
  69. package/deps/capstone/arch/BPF/BPFModule.c +34 -0
  70. package/deps/capstone/arch/BPF/BPFModule.h +12 -0
  71. package/deps/capstone/arch/EVM/EVMDisassembler.c +379 -0
  72. package/deps/capstone/arch/EVM/EVMDisassembler.h +12 -0
  73. package/deps/capstone/arch/EVM/EVMInstPrinter.c +20 -0
  74. package/deps/capstone/arch/EVM/EVMInstPrinter.h +17 -0
  75. package/deps/capstone/arch/EVM/EVMMapping.c +344 -0
  76. package/deps/capstone/arch/EVM/EVMMapping.h +8 -0
  77. package/deps/capstone/arch/EVM/EVMMappingInsn.inc +259 -0
  78. package/deps/capstone/arch/EVM/EVMModule.c +33 -0
  79. package/deps/capstone/arch/EVM/EVMModule.h +12 -0
  80. package/deps/capstone/arch/M680X/M680XDisassembler.c +2307 -0
  81. package/deps/capstone/arch/M680X/M680XDisassembler.h +17 -0
  82. package/deps/capstone/arch/M680X/M680XDisassemblerInternals.h +57 -0
  83. package/deps/capstone/arch/M680X/M680XInstPrinter.c +360 -0
  84. package/deps/capstone/arch/M680X/M680XInstPrinter.h +25 -0
  85. package/deps/capstone/arch/M680X/M680XModule.c +77 -0
  86. package/deps/capstone/arch/M680X/M680XModule.h +12 -0
  87. package/deps/capstone/arch/M680X/cpu12.inc +335 -0
  88. package/deps/capstone/arch/M680X/hcs08.inc +60 -0
  89. package/deps/capstone/arch/M680X/hd6301.inc +15 -0
  90. package/deps/capstone/arch/M680X/hd6309.inc +259 -0
  91. package/deps/capstone/arch/M680X/insn_props.inc +367 -0
  92. package/deps/capstone/arch/M680X/m6800.inc +277 -0
  93. package/deps/capstone/arch/M680X/m6801.inc +39 -0
  94. package/deps/capstone/arch/M680X/m6805.inc +277 -0
  95. package/deps/capstone/arch/M680X/m6808.inc +91 -0
  96. package/deps/capstone/arch/M680X/m6809.inc +352 -0
  97. package/deps/capstone/arch/M680X/m6811.inc +105 -0
  98. package/deps/capstone/arch/M68K/M68KDisassembler.c +3668 -0
  99. package/deps/capstone/arch/M68K/M68KDisassembler.h +30 -0
  100. package/deps/capstone/arch/M68K/M68KInstPrinter.c +387 -0
  101. package/deps/capstone/arch/M68K/M68KInstPrinter.h +21 -0
  102. package/deps/capstone/arch/M68K/M68KInstructionTable.inc +65540 -0
  103. package/deps/capstone/arch/M68K/M68KModule.c +42 -0
  104. package/deps/capstone/arch/M68K/M68KModule.h +12 -0
  105. package/deps/capstone/arch/MOS65XX/MOS65XXDisassembler.c +544 -0
  106. package/deps/capstone/arch/MOS65XX/MOS65XXDisassembler.h +22 -0
  107. package/deps/capstone/arch/MOS65XX/MOS65XXDisassemblerInternals.h +23 -0
  108. package/deps/capstone/arch/MOS65XX/MOS65XXModule.c +79 -0
  109. package/deps/capstone/arch/MOS65XX/MOS65XXModule.h +12 -0
  110. package/deps/capstone/arch/MOS65XX/instruction_info.inc +106 -0
  111. package/deps/capstone/arch/MOS65XX/m6502.inc +256 -0
  112. package/deps/capstone/arch/MOS65XX/m65816.inc +256 -0
  113. package/deps/capstone/arch/MOS65XX/m65c02.inc +256 -0
  114. package/deps/capstone/arch/MOS65XX/mw65c02.inc +256 -0
  115. package/deps/capstone/arch/Mips/MipsDisassembler.c +1794 -0
  116. package/deps/capstone/arch/Mips/MipsDisassembler.h +16 -0
  117. package/deps/capstone/arch/Mips/MipsGenAsmWriter.inc +5725 -0
  118. package/deps/capstone/arch/Mips/MipsGenDisassemblerTables.inc +6942 -0
  119. package/deps/capstone/arch/Mips/MipsGenInstrInfo.inc +1805 -0
  120. package/deps/capstone/arch/Mips/MipsGenRegisterInfo.inc +1679 -0
  121. package/deps/capstone/arch/Mips/MipsGenSubtargetInfo.inc +52 -0
  122. package/deps/capstone/arch/Mips/MipsInstPrinter.c +424 -0
  123. package/deps/capstone/arch/Mips/MipsInstPrinter.h +25 -0
  124. package/deps/capstone/arch/Mips/MipsMapping.c +1070 -0
  125. package/deps/capstone/arch/Mips/MipsMapping.h +25 -0
  126. package/deps/capstone/arch/Mips/MipsMappingInsn.inc +9315 -0
  127. package/deps/capstone/arch/Mips/MipsModule.c +52 -0
  128. package/deps/capstone/arch/Mips/MipsModule.h +12 -0
  129. package/deps/capstone/arch/PowerPC/PPCDisassembler.c +627 -0
  130. package/deps/capstone/arch/PowerPC/PPCDisassembler.h +17 -0
  131. package/deps/capstone/arch/PowerPC/PPCGenAsmWriter.inc +11451 -0
  132. package/deps/capstone/arch/PowerPC/PPCGenDisassemblerTables.inc +6886 -0
  133. package/deps/capstone/arch/PowerPC/PPCGenInstrInfo.inc +4772 -0
  134. package/deps/capstone/arch/PowerPC/PPCGenRegisterInfo.inc +1122 -0
  135. package/deps/capstone/arch/PowerPC/PPCGenRegisterName.inc +278 -0
  136. package/deps/capstone/arch/PowerPC/PPCGenSubtargetInfo.inc +90 -0
  137. package/deps/capstone/arch/PowerPC/PPCInstPrinter.c +1238 -0
  138. package/deps/capstone/arch/PowerPC/PPCInstPrinter.h +15 -0
  139. package/deps/capstone/arch/PowerPC/PPCMapping.c +570 -0
  140. package/deps/capstone/arch/PowerPC/PPCMapping.h +40 -0
  141. package/deps/capstone/arch/PowerPC/PPCMappingInsn.inc +13220 -0
  142. package/deps/capstone/arch/PowerPC/PPCMappingInsnName.inc +1731 -0
  143. package/deps/capstone/arch/PowerPC/PPCModule.c +45 -0
  144. package/deps/capstone/arch/PowerPC/PPCModule.h +12 -0
  145. package/deps/capstone/arch/PowerPC/PPCPredicates.h +62 -0
  146. package/deps/capstone/arch/RISCV/RISCVBaseInfo.h +106 -0
  147. package/deps/capstone/arch/RISCV/RISCVDisassembler.c +433 -0
  148. package/deps/capstone/arch/RISCV/RISCVDisassembler.h +18 -0
  149. package/deps/capstone/arch/RISCV/RISCVGenAsmWriter.inc +2651 -0
  150. package/deps/capstone/arch/RISCV/RISCVGenDisassemblerTables.inc +1776 -0
  151. package/deps/capstone/arch/RISCV/RISCVGenInsnNameMaps.inc +275 -0
  152. package/deps/capstone/arch/RISCV/RISCVGenInstrInfo.inc +470 -0
  153. package/deps/capstone/arch/RISCV/RISCVGenRegisterInfo.inc +426 -0
  154. package/deps/capstone/arch/RISCV/RISCVGenSubtargetInfo.inc +33 -0
  155. package/deps/capstone/arch/RISCV/RISCVInstPrinter.c +447 -0
  156. package/deps/capstone/arch/RISCV/RISCVInstPrinter.h +24 -0
  157. package/deps/capstone/arch/RISCV/RISCVMapping.c +366 -0
  158. package/deps/capstone/arch/RISCV/RISCVMapping.h +22 -0
  159. package/deps/capstone/arch/RISCV/RISCVMappingInsn.inc +1635 -0
  160. package/deps/capstone/arch/RISCV/RISCVModule.c +42 -0
  161. package/deps/capstone/arch/RISCV/RISCVModule.h +12 -0
  162. package/deps/capstone/arch/SH/SHDisassembler.c +2221 -0
  163. package/deps/capstone/arch/SH/SHDisassembler.h +19 -0
  164. package/deps/capstone/arch/SH/SHInsnTable.inc +66 -0
  165. package/deps/capstone/arch/SH/SHInstPrinter.c +438 -0
  166. package/deps/capstone/arch/SH/SHInstPrinter.h +23 -0
  167. package/deps/capstone/arch/SH/SHModule.c +39 -0
  168. package/deps/capstone/arch/SH/SHModule.h +12 -0
  169. package/deps/capstone/arch/SH/mktable.rb +390 -0
  170. package/deps/capstone/arch/Sparc/Sparc.h +63 -0
  171. package/deps/capstone/arch/Sparc/SparcDisassembler.c +500 -0
  172. package/deps/capstone/arch/Sparc/SparcDisassembler.h +17 -0
  173. package/deps/capstone/arch/Sparc/SparcGenAsmWriter.inc +5709 -0
  174. package/deps/capstone/arch/Sparc/SparcGenDisassemblerTables.inc +2028 -0
  175. package/deps/capstone/arch/Sparc/SparcGenInstrInfo.inc +514 -0
  176. package/deps/capstone/arch/Sparc/SparcGenRegisterInfo.inc +451 -0
  177. package/deps/capstone/arch/Sparc/SparcGenSubtargetInfo.inc +27 -0
  178. package/deps/capstone/arch/Sparc/SparcInstPrinter.c +446 -0
  179. package/deps/capstone/arch/Sparc/SparcInstPrinter.h +17 -0
  180. package/deps/capstone/arch/Sparc/SparcMapping.c +665 -0
  181. package/deps/capstone/arch/Sparc/SparcMapping.h +34 -0
  182. package/deps/capstone/arch/Sparc/SparcMappingInsn.inc +2643 -0
  183. package/deps/capstone/arch/Sparc/SparcModule.c +45 -0
  184. package/deps/capstone/arch/Sparc/SparcModule.h +12 -0
  185. package/deps/capstone/arch/SystemZ/SystemZDisassembler.c +484 -0
  186. package/deps/capstone/arch/SystemZ/SystemZDisassembler.h +17 -0
  187. package/deps/capstone/arch/SystemZ/SystemZGenAsmWriter.inc +11575 -0
  188. package/deps/capstone/arch/SystemZ/SystemZGenDisassemblerTables.inc +10262 -0
  189. package/deps/capstone/arch/SystemZ/SystemZGenInsnNameMaps.inc +2348 -0
  190. package/deps/capstone/arch/SystemZ/SystemZGenInstrInfo.inc +2820 -0
  191. package/deps/capstone/arch/SystemZ/SystemZGenRegisterInfo.inc +741 -0
  192. package/deps/capstone/arch/SystemZ/SystemZGenSubtargetInfo.inc +49 -0
  193. package/deps/capstone/arch/SystemZ/SystemZInstPrinter.c +433 -0
  194. package/deps/capstone/arch/SystemZ/SystemZInstPrinter.h +15 -0
  195. package/deps/capstone/arch/SystemZ/SystemZMCTargetDesc.c +195 -0
  196. package/deps/capstone/arch/SystemZ/SystemZMCTargetDesc.h +51 -0
  197. package/deps/capstone/arch/SystemZ/SystemZMapping.c +479 -0
  198. package/deps/capstone/arch/SystemZ/SystemZMapping.h +23 -0
  199. package/deps/capstone/arch/SystemZ/SystemZMappingInsn.inc +14175 -0
  200. package/deps/capstone/arch/SystemZ/SystemZModule.c +44 -0
  201. package/deps/capstone/arch/SystemZ/SystemZModule.h +12 -0
  202. package/deps/capstone/arch/TMS320C64x/TMS320C64xDisassembler.c +628 -0
  203. package/deps/capstone/arch/TMS320C64x/TMS320C64xDisassembler.h +19 -0
  204. package/deps/capstone/arch/TMS320C64x/TMS320C64xGenAsmWriter.inc +684 -0
  205. package/deps/capstone/arch/TMS320C64x/TMS320C64xGenDisassemblerTables.inc +1352 -0
  206. package/deps/capstone/arch/TMS320C64x/TMS320C64xGenInstrInfo.inc +298 -0
  207. package/deps/capstone/arch/TMS320C64x/TMS320C64xGenRegisterInfo.inc +277 -0
  208. package/deps/capstone/arch/TMS320C64x/TMS320C64xInstPrinter.c +572 -0
  209. package/deps/capstone/arch/TMS320C64x/TMS320C64xInstPrinter.h +15 -0
  210. package/deps/capstone/arch/TMS320C64x/TMS320C64xMapping.c +1926 -0
  211. package/deps/capstone/arch/TMS320C64x/TMS320C64xMapping.h +26 -0
  212. package/deps/capstone/arch/TMS320C64x/TMS320C64xModule.c +39 -0
  213. package/deps/capstone/arch/TMS320C64x/TMS320C64xModule.h +12 -0
  214. package/deps/capstone/arch/TriCore/TriCore.td +134 -0
  215. package/deps/capstone/arch/TriCore/TriCoreCallingConv.td +61 -0
  216. package/deps/capstone/arch/TriCore/TriCoreDisassembler.c +1655 -0
  217. package/deps/capstone/arch/TriCore/TriCoreDisassembler.h +18 -0
  218. package/deps/capstone/arch/TriCore/TriCoreGenAsmWriter.inc +3691 -0
  219. package/deps/capstone/arch/TriCore/TriCoreGenCSFeatureName.inc +22 -0
  220. package/deps/capstone/arch/TriCore/TriCoreGenCSMappingInsn.inc +8938 -0
  221. package/deps/capstone/arch/TriCore/TriCoreGenCSMappingInsnName.inc +404 -0
  222. package/deps/capstone/arch/TriCore/TriCoreGenCSMappingInsnOp.inc +7994 -0
  223. package/deps/capstone/arch/TriCore/TriCoreGenCSOpGroup.inc +32 -0
  224. package/deps/capstone/arch/TriCore/TriCoreGenDisassemblerTables.inc +4044 -0
  225. package/deps/capstone/arch/TriCore/TriCoreGenInstrInfo.inc +2693 -0
  226. package/deps/capstone/arch/TriCore/TriCoreGenRegisterInfo.inc +295 -0
  227. package/deps/capstone/arch/TriCore/TriCoreGenSubtargetInfo.inc +40 -0
  228. package/deps/capstone/arch/TriCore/TriCoreInstPrinter.c +488 -0
  229. package/deps/capstone/arch/TriCore/TriCoreInstrFormats.td +773 -0
  230. package/deps/capstone/arch/TriCore/TriCoreInstrInfo.td +1873 -0
  231. package/deps/capstone/arch/TriCore/TriCoreLinkage.h +21 -0
  232. package/deps/capstone/arch/TriCore/TriCoreMapping.c +241 -0
  233. package/deps/capstone/arch/TriCore/TriCoreMapping.h +32 -0
  234. package/deps/capstone/arch/TriCore/TriCoreModule.c +44 -0
  235. package/deps/capstone/arch/TriCore/TriCoreModule.h +11 -0
  236. package/deps/capstone/arch/TriCore/TriCoreRegisterInfo.td +153 -0
  237. package/deps/capstone/arch/WASM/WASMDisassembler.c +1009 -0
  238. package/deps/capstone/arch/WASM/WASMDisassembler.h +12 -0
  239. package/deps/capstone/arch/WASM/WASMInstPrinter.c +47 -0
  240. package/deps/capstone/arch/WASM/WASMInstPrinter.h +18 -0
  241. package/deps/capstone/arch/WASM/WASMMapping.c +333 -0
  242. package/deps/capstone/arch/WASM/WASMMapping.h +9 -0
  243. package/deps/capstone/arch/WASM/WASMModule.c +33 -0
  244. package/deps/capstone/arch/WASM/WASMModule.h +12 -0
  245. package/deps/capstone/arch/X86/X86ATTInstPrinter.c +997 -0
  246. package/deps/capstone/arch/X86/X86BaseInfo.h +50 -0
  247. package/deps/capstone/arch/X86/X86Disassembler.c +1033 -0
  248. package/deps/capstone/arch/X86/X86Disassembler.h +28 -0
  249. package/deps/capstone/arch/X86/X86DisassemblerDecoder.c +2358 -0
  250. package/deps/capstone/arch/X86/X86DisassemblerDecoder.h +725 -0
  251. package/deps/capstone/arch/X86/X86DisassemblerDecoderCommon.h +483 -0
  252. package/deps/capstone/arch/X86/X86GenAsmWriter.inc +49199 -0
  253. package/deps/capstone/arch/X86/X86GenAsmWriter1.inc +33196 -0
  254. package/deps/capstone/arch/X86/X86GenAsmWriter1_reduce.inc +2531 -0
  255. package/deps/capstone/arch/X86/X86GenAsmWriter_reduce.inc +2855 -0
  256. package/deps/capstone/arch/X86/X86GenDisassemblerTables.inc +112961 -0
  257. package/deps/capstone/arch/X86/X86GenDisassemblerTables2.inc +102151 -0
  258. package/deps/capstone/arch/X86/X86GenDisassemblerTables_reduce.inc +28047 -0
  259. package/deps/capstone/arch/X86/X86GenDisassemblerTables_reduce2.inc +18827 -0
  260. package/deps/capstone/arch/X86/X86GenInstrInfo.inc +15158 -0
  261. package/deps/capstone/arch/X86/X86GenInstrInfo_reduce.inc +1564 -0
  262. package/deps/capstone/arch/X86/X86GenRegisterInfo.inc +1549 -0
  263. package/deps/capstone/arch/X86/X86GenRegisterName.inc +292 -0
  264. package/deps/capstone/arch/X86/X86GenRegisterName1.inc +291 -0
  265. package/deps/capstone/arch/X86/X86ImmSize.inc +335 -0
  266. package/deps/capstone/arch/X86/X86InstPrinter.h +26 -0
  267. package/deps/capstone/arch/X86/X86InstPrinterCommon.c +116 -0
  268. package/deps/capstone/arch/X86/X86InstPrinterCommon.h +16 -0
  269. package/deps/capstone/arch/X86/X86IntelInstPrinter.c +1061 -0
  270. package/deps/capstone/arch/X86/X86Lookup16.inc +16874 -0
  271. package/deps/capstone/arch/X86/X86Lookup16_reduce.inc +2308 -0
  272. package/deps/capstone/arch/X86/X86Mapping.c +2266 -0
  273. package/deps/capstone/arch/X86/X86Mapping.h +96 -0
  274. package/deps/capstone/arch/X86/X86MappingInsn.inc +105977 -0
  275. package/deps/capstone/arch/X86/X86MappingInsnName.inc +1527 -0
  276. package/deps/capstone/arch/X86/X86MappingInsnName_reduce.inc +348 -0
  277. package/deps/capstone/arch/X86/X86MappingInsnOp.inc +75700 -0
  278. package/deps/capstone/arch/X86/X86MappingInsnOp_reduce.inc +7729 -0
  279. package/deps/capstone/arch/X86/X86MappingInsn_reduce.inc +10819 -0
  280. package/deps/capstone/arch/X86/X86MappingReg.inc +280 -0
  281. package/deps/capstone/arch/X86/X86Module.c +94 -0
  282. package/deps/capstone/arch/X86/X86Module.h +12 -0
  283. package/deps/capstone/arch/XCore/XCoreDisassembler.c +794 -0
  284. package/deps/capstone/arch/XCore/XCoreDisassembler.h +17 -0
  285. package/deps/capstone/arch/XCore/XCoreGenAsmWriter.inc +772 -0
  286. package/deps/capstone/arch/XCore/XCoreGenDisassemblerTables.inc +853 -0
  287. package/deps/capstone/arch/XCore/XCoreGenInstrInfo.inc +267 -0
  288. package/deps/capstone/arch/XCore/XCoreGenRegisterInfo.inc +110 -0
  289. package/deps/capstone/arch/XCore/XCoreInstPrinter.c +250 -0
  290. package/deps/capstone/arch/XCore/XCoreInstPrinter.h +18 -0
  291. package/deps/capstone/arch/XCore/XCoreMapping.c +297 -0
  292. package/deps/capstone/arch/XCore/XCoreMapping.h +26 -0
  293. package/deps/capstone/arch/XCore/XCoreMappingInsn.inc +1287 -0
  294. package/deps/capstone/arch/XCore/XCoreModule.c +41 -0
  295. package/deps/capstone/arch/XCore/XCoreModule.h +12 -0
  296. package/deps/capstone/cs.c +1664 -0
  297. package/deps/capstone/cs_priv.h +101 -0
  298. package/deps/capstone/cs_simple_types.h +886 -0
  299. package/deps/capstone/include/capstone/arm.h +991 -0
  300. package/deps/capstone/include/capstone/arm64.h +3159 -0
  301. package/deps/capstone/include/capstone/bpf.h +209 -0
  302. package/deps/capstone/include/capstone/capstone.h +875 -0
  303. package/deps/capstone/include/capstone/evm.h +188 -0
  304. package/deps/capstone/include/capstone/m680x.h +537 -0
  305. package/deps/capstone/include/capstone/m68k.h +613 -0
  306. package/deps/capstone/include/capstone/mips.h +956 -0
  307. package/deps/capstone/include/capstone/mos65xx.h +204 -0
  308. package/deps/capstone/include/capstone/platform.h +122 -0
  309. package/deps/capstone/include/capstone/ppc.h +2108 -0
  310. package/deps/capstone/include/capstone/riscv.h +531 -0
  311. package/deps/capstone/include/capstone/sh.h +465 -0
  312. package/deps/capstone/include/capstone/sparc.h +520 -0
  313. package/deps/capstone/include/capstone/systemz.h +2601 -0
  314. package/deps/capstone/include/capstone/tms320c64x.h +359 -0
  315. package/deps/capstone/include/capstone/tricore.h +567 -0
  316. package/deps/capstone/include/capstone/wasm.h +250 -0
  317. package/deps/capstone/include/capstone/x86.h +1986 -0
  318. package/deps/capstone/include/capstone/xcore.h +235 -0
  319. package/deps/capstone/include/platform.h +110 -0
  320. package/deps/capstone/include/windowsce/intrin.h +12 -0
  321. package/deps/capstone/include/windowsce/stdint.h +133 -0
  322. package/deps/capstone/utils.c +140 -0
  323. package/deps/capstone/utils.h +54 -0
  324. package/index.d.ts +448 -0
  325. package/index.js +64 -0
  326. package/index.mjs +25 -0
  327. package/package.json +82 -0
  328. package/prebuilds/win32-x64/hexcore-capstone.node +0 -0
  329. package/src/capstone_wrapper.cpp +910 -0
  330. package/src/capstone_wrapper.h +147 -0
  331. package/src/disasm_async_worker.h +215 -0
  332. package/src/main.cpp +145 -0
@@ -0,0 +1,2863 @@
1
+ /* Capstone Disassembly Engine, http://www.capstone-engine.org */
2
+ /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2019 */
3
+
4
+ static const AT ATsList[] = {
5
+ { "s12e0r", 0x23C6 }, // 0
6
+ { "s12e0w", 0x23C7 }, // 1
7
+ { "s12e1r", 0x23C4 }, // 2
8
+ { "s12e1w", 0x23C5 }, // 3
9
+ { "s1e0r", 0x3C2 }, // 4
10
+ { "s1e0w", 0x3C3 }, // 5
11
+ { "s1e1r", 0x3C0 }, // 6
12
+ { "s1e1rp", 0x3C8 }, // 7
13
+ { "s1e1w", 0x3C1 }, // 8
14
+ { "s1e1wp", 0x3C9 }, // 9
15
+ { "s1e2r", 0x23C0 }, // 10
16
+ { "s1e2w", 0x23C1 }, // 11
17
+ { "s1e3r", 0x33C0 }, // 12
18
+ { "s1e3w", 0x33C1 }, // 13
19
+ };
20
+
21
+ const AT *lookupATByEncoding(uint16_t Encoding)
22
+ {
23
+ unsigned int i;
24
+ static const struct IndexType Index[] = {
25
+ { 0x3C0, 6 },
26
+ { 0x3C1, 8 },
27
+ { 0x3C2, 4 },
28
+ { 0x3C3, 5 },
29
+ { 0x3C8, 7 },
30
+ { 0x3C9, 9 },
31
+ { 0x23C0, 10 },
32
+ { 0x23C1, 11 },
33
+ { 0x23C4, 2 },
34
+ { 0x23C5, 3 },
35
+ { 0x23C6, 0 },
36
+ { 0x23C7, 1 },
37
+ { 0x33C0, 12 },
38
+ { 0x33C1, 13 },
39
+ };
40
+
41
+ i = binsearch_IndexTypeEncoding(Index, ARR_SIZE(Index), Encoding);
42
+ if (i == -1)
43
+ return NULL;
44
+ else
45
+ return &ATsList[Index[i].index];
46
+ }
47
+
48
+ static const DB DBsList[] = {
49
+ { "ish", 0xB }, // 0
50
+ { "ishld", 0x9 }, // 1
51
+ { "ishst", 0xA }, // 2
52
+ { "ld", 0xD }, // 3
53
+ { "nsh", 0x7 }, // 4
54
+ { "nshld", 0x5 }, // 5
55
+ { "nshst", 0x6 }, // 6
56
+ { "osh", 0x3 }, // 7
57
+ { "oshld", 0x1 }, // 8
58
+ { "oshst", 0x2 }, // 9
59
+ { "st", 0xE }, // 10
60
+ { "sy", 0xF }, // 11
61
+ };
62
+
63
+ const DB *lookupDBByEncoding(uint16_t Encoding)
64
+ {
65
+ unsigned int i;
66
+ static const struct IndexType Index[] = {
67
+ { 0x1, 8 },
68
+ { 0x2, 9 },
69
+ { 0x3, 7 },
70
+ { 0x5, 5 },
71
+ { 0x6, 6 },
72
+ { 0x7, 4 },
73
+ { 0x9, 1 },
74
+ { 0xA, 2 },
75
+ { 0xB, 0 },
76
+ { 0xD, 3 },
77
+ { 0xE, 10 },
78
+ { 0xF, 11 },
79
+ };
80
+
81
+ i = binsearch_IndexTypeEncoding(Index, ARR_SIZE(Index), Encoding);
82
+ if (i == -1)
83
+ return NULL;
84
+ else
85
+ return &DBsList[Index[i].index];
86
+ }
87
+
88
+ static const DC DCsList[] = {
89
+ { "cgdsw", 0x3D6 }, // 0
90
+ { "cgdvac", 0x1BD5 }, // 1
91
+ { "cgdvadp", 0x1BED }, // 2
92
+ { "cgdvap", 0x1BE5 }, // 3
93
+ { "cgsw", 0x3D4 }, // 4
94
+ { "cgvac", 0x1BD3 }, // 5
95
+ { "cgvadp", 0x1BEB }, // 6
96
+ { "cgvap", 0x1BE3 }, // 7
97
+ { "cigdsw", 0x3F6 }, // 8
98
+ { "cigdvac", 0x1BF5 }, // 9
99
+ { "cigsw", 0x3F4 }, // 10
100
+ { "cigvac", 0x1BF3 }, // 11
101
+ { "cisw", 0x3F2 }, // 12
102
+ { "civac", 0x1BF1 }, // 13
103
+ { "csw", 0x3D2 }, // 14
104
+ { "cvac", 0x1BD1 }, // 15
105
+ { "cvadp", 0x1BE9 }, // 16
106
+ { "cvap", 0x1BE1 }, // 17
107
+ { "cvau", 0x1BD9 }, // 18
108
+ { "gva", 0x1BA3 }, // 19
109
+ { "gzva", 0x1BA4 }, // 20
110
+ { "igdsw", 0x3B6 }, // 21
111
+ { "igdvac", 0x3B5 }, // 22
112
+ { "igsw", 0x3B4 }, // 23
113
+ { "igvac", 0x3B3 }, // 24
114
+ { "isw", 0x3B2 }, // 25
115
+ { "ivac", 0x3B1 }, // 26
116
+ { "zva", 0x1BA1 }, // 27
117
+ };
118
+
119
+ const DC *lookupDCByEncoding(uint16_t Encoding)
120
+ {
121
+ unsigned int i;
122
+ static const struct IndexType Index[] = {
123
+ { 0x3B1, 26 },
124
+ { 0x3B2, 25 },
125
+ { 0x3B3, 24 },
126
+ { 0x3B4, 23 },
127
+ { 0x3B5, 22 },
128
+ { 0x3B6, 21 },
129
+ { 0x3D2, 14 },
130
+ { 0x3D4, 4 },
131
+ { 0x3D6, 0 },
132
+ { 0x3F2, 12 },
133
+ { 0x3F4, 10 },
134
+ { 0x3F6, 8 },
135
+ { 0x1BA1, 27 },
136
+ { 0x1BA3, 19 },
137
+ { 0x1BA4, 20 },
138
+ { 0x1BD1, 15 },
139
+ { 0x1BD3, 5 },
140
+ { 0x1BD5, 1 },
141
+ { 0x1BD9, 18 },
142
+ { 0x1BE1, 17 },
143
+ { 0x1BE3, 7 },
144
+ { 0x1BE5, 3 },
145
+ { 0x1BE9, 16 },
146
+ { 0x1BEB, 6 },
147
+ { 0x1BED, 2 },
148
+ { 0x1BF1, 13 },
149
+ { 0x1BF3, 11 },
150
+ { 0x1BF5, 9 },
151
+ };
152
+
153
+ i = binsearch_IndexTypeEncoding(Index, ARR_SIZE(Index), Encoding);
154
+ if (i == -1)
155
+ return NULL;
156
+ else
157
+ return &DCsList[Index[i].index];
158
+ }
159
+
160
+ static const IC ICsList[] = {
161
+ { "iallu", 0x3a8, false }, // 0
162
+ { "ialluis", 0x388, false }, // 1
163
+ { "ivau", 0x1ba9, true }, // 2
164
+ };
165
+
166
+ const IC *lookupICByEncoding(uint16_t Encoding)
167
+ {
168
+ unsigned int i;
169
+ static const struct IndexType Index[] = {
170
+ { 0x388, 1 },
171
+ { 0x3A8, 0 },
172
+ { 0x1BA9, 2 },
173
+ };
174
+
175
+ i = binsearch_IndexTypeEncoding(Index, ARR_SIZE(Index), Encoding);
176
+ if (i == -1)
177
+ return NULL;
178
+ else
179
+ return &ICsList[Index[i].index];
180
+ }
181
+
182
+ static const TLBI TLBIsList[] = {
183
+ { "alle1", 0x243C, false }, // 0
184
+ { "alle1is", 0x241C, false }, // 1
185
+ { "alle1isnxs", 0x249C, false }, // 2
186
+ { "alle1nxs", 0x24BC, false }, // 3
187
+ { "alle1os", 0x240C, false }, // 4
188
+ { "alle1osnxs", 0x248C, false }, // 5
189
+ { "alle2", 0x2438, false }, // 6
190
+ { "alle2is", 0x2418, false }, // 7
191
+ { "alle2isnxs", 0x2498, false }, // 8
192
+ { "alle2nxs", 0x24B8, false }, // 9
193
+ { "alle2os", 0x2408, false }, // 10
194
+ { "alle2osnxs", 0x2488, false }, // 11
195
+ { "alle3", 0x3438, false }, // 12
196
+ { "alle3is", 0x3418, false }, // 13
197
+ { "alle3isnxs", 0x3498, false }, // 14
198
+ { "alle3nxs", 0x34B8, false }, // 15
199
+ { "alle3os", 0x3408, false }, // 16
200
+ { "alle3osnxs", 0x3488, false }, // 17
201
+ { "aside1", 0x43A, true }, // 18
202
+ { "aside1is", 0x41A, true }, // 19
203
+ { "aside1isnxs", 0x49A, true }, // 20
204
+ { "aside1nxs", 0x4BA, true }, // 21
205
+ { "aside1os", 0x40A, true }, // 22
206
+ { "aside1osnxs", 0x48A, true }, // 23
207
+ { "ipas2e1", 0x2421, true }, // 24
208
+ { "ipas2e1is", 0x2401, true }, // 25
209
+ { "ipas2e1isnxs", 0x2481, true }, // 26
210
+ { "ipas2e1nxs", 0x24A1, true }, // 27
211
+ { "ipas2e1os", 0x2420, true }, // 28
212
+ { "ipas2e1osnxs", 0x24A0, true }, // 29
213
+ { "ipas2le1", 0x2425, true }, // 30
214
+ { "ipas2le1is", 0x2405, true }, // 31
215
+ { "ipas2le1isnxs", 0x2485, true }, // 32
216
+ { "ipas2le1nxs", 0x24A5, true }, // 33
217
+ { "ipas2le1os", 0x2424, true }, // 34
218
+ { "ipas2le1osnxs", 0x24A4, true }, // 35
219
+ { "paall", 0x343C, false }, // 36
220
+ { "paallnxs", 0x34BC, false }, // 37
221
+ { "paallos", 0x340C, false }, // 38
222
+ { "paallosnxs", 0x348C, false }, // 39
223
+ { "ripas2e1", 0x2422, true }, // 40
224
+ { "ripas2e1is", 0x2402, true }, // 41
225
+ { "ripas2e1isnxs", 0x2482, true }, // 42
226
+ { "ripas2e1nxs", 0x24A2, true }, // 43
227
+ { "ripas2e1os", 0x2423, true }, // 44
228
+ { "ripas2e1osnxs", 0x24A3, true }, // 45
229
+ { "ripas2le1", 0x2426, true }, // 46
230
+ { "ripas2le1is", 0x2406, true }, // 47
231
+ { "ripas2le1isnxs", 0x2486, true }, // 48
232
+ { "ripas2le1nxs", 0x24A6, true }, // 49
233
+ { "ripas2le1os", 0x2427, true }, // 50
234
+ { "ripas2le1osnxs", 0x24A7, true }, // 51
235
+ { "rpalos", 0x3427, true }, // 52
236
+ { "rpalosnxs", 0x34A7, true }, // 53
237
+ { "rpaos", 0x3423, true }, // 54
238
+ { "rpaosnxs", 0x34A3, true }, // 55
239
+ { "rvaae1", 0x433, true }, // 56
240
+ { "rvaae1is", 0x413, true }, // 57
241
+ { "rvaae1isnxs", 0x493, true }, // 58
242
+ { "rvaae1nxs", 0x4B3, true }, // 59
243
+ { "rvaae1os", 0x42B, true }, // 60
244
+ { "rvaae1osnxs", 0x4AB, true }, // 61
245
+ { "rvaale1", 0x437, true }, // 62
246
+ { "rvaale1is", 0x417, true }, // 63
247
+ { "rvaale1isnxs", 0x497, true }, // 64
248
+ { "rvaale1nxs", 0x4B7, true }, // 65
249
+ { "rvaale1os", 0x42F, true }, // 66
250
+ { "rvaale1osnxs", 0x4AF, true }, // 67
251
+ { "rvae1", 0x431, true }, // 68
252
+ { "rvae1is", 0x411, true }, // 69
253
+ { "rvae1isnxs", 0x491, true }, // 70
254
+ { "rvae1nxs", 0x4B1, true }, // 71
255
+ { "rvae1os", 0x429, true }, // 72
256
+ { "rvae1osnxs", 0x4A9, true }, // 73
257
+ { "rvae2", 0x2431, true }, // 74
258
+ { "rvae2is", 0x2411, true }, // 75
259
+ { "rvae2isnxs", 0x2491, true }, // 76
260
+ { "rvae2nxs", 0x24B1, true }, // 77
261
+ { "rvae2os", 0x2429, true }, // 78
262
+ { "rvae2osnxs", 0x24A9, true }, // 79
263
+ { "rvae3", 0x3431, true }, // 80
264
+ { "rvae3is", 0x3411, true }, // 81
265
+ { "rvae3isnxs", 0x3491, true }, // 82
266
+ { "rvae3nxs", 0x34B1, true }, // 83
267
+ { "rvae3os", 0x3429, true }, // 84
268
+ { "rvae3osnxs", 0x34A9, true }, // 85
269
+ { "rvale1", 0x435, true }, // 86
270
+ { "rvale1is", 0x415, true }, // 87
271
+ { "rvale1isnxs", 0x495, true }, // 88
272
+ { "rvale1nxs", 0x4B5, true }, // 89
273
+ { "rvale1os", 0x42D, true }, // 90
274
+ { "rvale1osnxs", 0x4AD, true }, // 91
275
+ { "rvale2", 0x2435, true }, // 92
276
+ { "rvale2is", 0x2415, true }, // 93
277
+ { "rvale2isnxs", 0x2495, true }, // 94
278
+ { "rvale2nxs", 0x24B5, true }, // 95
279
+ { "rvale2os", 0x242D, true }, // 96
280
+ { "rvale2osnxs", 0x24AD, true }, // 97
281
+ { "rvale3", 0x3435, true }, // 98
282
+ { "rvale3is", 0x3415, true }, // 99
283
+ { "rvale3isnxs", 0x3495, true }, // 100
284
+ { "rvale3nxs", 0x34B5, true }, // 101
285
+ { "rvale3os", 0x342D, true }, // 102
286
+ { "rvale3osnxs", 0x34AD, true }, // 103
287
+ { "vaae1", 0x43B, true }, // 104
288
+ { "vaae1is", 0x41B, true }, // 105
289
+ { "vaae1isnxs", 0x49B, true }, // 106
290
+ { "vaae1nxs", 0x4BB, true }, // 107
291
+ { "vaae1os", 0x40B, true }, // 108
292
+ { "vaae1osnxs", 0x48B, true }, // 109
293
+ { "vaale1", 0x43F, true }, // 110
294
+ { "vaale1is", 0x41F, true }, // 111
295
+ { "vaale1isnxs", 0x49F, true }, // 112
296
+ { "vaale1nxs", 0x4BF, true }, // 113
297
+ { "vaale1os", 0x40F, true }, // 114
298
+ { "vaale1osnxs", 0x48F, true }, // 115
299
+ { "vae1", 0x439, true }, // 116
300
+ { "vae1is", 0x419, true }, // 117
301
+ { "vae1isnxs", 0x499, true }, // 118
302
+ { "vae1nxs", 0x4B9, true }, // 119
303
+ { "vae1os", 0x409, true }, // 120
304
+ { "vae1osnxs", 0x489, true }, // 121
305
+ { "vae2", 0x2439, true }, // 122
306
+ { "vae2is", 0x2419, true }, // 123
307
+ { "vae2isnxs", 0x2499, true }, // 124
308
+ { "vae2nxs", 0x24B9, true }, // 125
309
+ { "vae2os", 0x2409, true }, // 126
310
+ { "vae2osnxs", 0x2489, true }, // 127
311
+ { "vae3", 0x3439, true }, // 128
312
+ { "vae3is", 0x3419, true }, // 129
313
+ { "vae3isnxs", 0x3499, true }, // 130
314
+ { "vae3nxs", 0x34B9, true }, // 131
315
+ { "vae3os", 0x3409, true }, // 132
316
+ { "vae3osnxs", 0x3489, true }, // 133
317
+ { "vale1", 0x43D, true }, // 134
318
+ { "vale1is", 0x41D, true }, // 135
319
+ { "vale1isnxs", 0x49D, true }, // 136
320
+ { "vale1nxs", 0x4BD, true }, // 137
321
+ { "vale1os", 0x40D, true }, // 138
322
+ { "vale1osnxs", 0x48D, true }, // 139
323
+ { "vale2", 0x243D, true }, // 140
324
+ { "vale2is", 0x241D, true }, // 141
325
+ { "vale2isnxs", 0x249D, true }, // 142
326
+ { "vale2nxs", 0x24BD, true }, // 143
327
+ { "vale2os", 0x240D, true }, // 144
328
+ { "vale2osnxs", 0x248D, true }, // 145
329
+ { "vale3", 0x343D, true }, // 146
330
+ { "vale3is", 0x341D, true }, // 147
331
+ { "vale3isnxs", 0x349D, true }, // 148
332
+ { "vale3nxs", 0x34BD, true }, // 149
333
+ { "vale3os", 0x340D, true }, // 150
334
+ { "vale3osnxs", 0x348D, true }, // 151
335
+ { "vmalle1", 0x438, false }, // 152
336
+ { "vmalle1is", 0x418, false }, // 153
337
+ { "vmalle1isnxs", 0x498, false }, // 154
338
+ { "vmalle1nxs", 0x4B8, false }, // 155
339
+ { "vmalle1os", 0x408, false }, // 156
340
+ { "vmalle1osnxs", 0x488, false }, // 157
341
+ { "vmalls12e1", 0x243E, false }, // 158
342
+ { "vmalls12e1is", 0x241E, false }, // 159
343
+ { "vmalls12e1isnxs", 0x249E, false }, // 160
344
+ { "vmalls12e1nxs", 0x24BE, false }, // 161
345
+ { "vmalls12e1os", 0x240E, false }, // 162
346
+ { "vmalls12e1osnxs", 0x248E, false }, // 163
347
+ };
348
+
349
+ const TLBI *lookupTLBIByEncoding(uint16_t Encoding)
350
+ {
351
+ unsigned int i;
352
+ static const struct IndexType Index[] = {
353
+ { 0x408, 156 },
354
+ { 0x409, 120 },
355
+ { 0x40A, 22 },
356
+ { 0x40B, 108 },
357
+ { 0x40D, 138 },
358
+ { 0x40F, 114 },
359
+ { 0x411, 69 },
360
+ { 0x413, 57 },
361
+ { 0x415, 87 },
362
+ { 0x417, 63 },
363
+ { 0x418, 153 },
364
+ { 0x419, 117 },
365
+ { 0x41A, 19 },
366
+ { 0x41B, 105 },
367
+ { 0x41D, 135 },
368
+ { 0x41F, 111 },
369
+ { 0x429, 72 },
370
+ { 0x42B, 60 },
371
+ { 0x42D, 90 },
372
+ { 0x42F, 66 },
373
+ { 0x431, 68 },
374
+ { 0x433, 56 },
375
+ { 0x435, 86 },
376
+ { 0x437, 62 },
377
+ { 0x438, 152 },
378
+ { 0x439, 116 },
379
+ { 0x43A, 18 },
380
+ { 0x43B, 104 },
381
+ { 0x43D, 134 },
382
+ { 0x43F, 110 },
383
+ { 0x488, 157 },
384
+ { 0x489, 121 },
385
+ { 0x48A, 23 },
386
+ { 0x48B, 109 },
387
+ { 0x48D, 139 },
388
+ { 0x48F, 115 },
389
+ { 0x491, 70 },
390
+ { 0x493, 58 },
391
+ { 0x495, 88 },
392
+ { 0x497, 64 },
393
+ { 0x498, 154 },
394
+ { 0x499, 118 },
395
+ { 0x49A, 20 },
396
+ { 0x49B, 106 },
397
+ { 0x49D, 136 },
398
+ { 0x49F, 112 },
399
+ { 0x4A9, 73 },
400
+ { 0x4AB, 61 },
401
+ { 0x4AD, 91 },
402
+ { 0x4AF, 67 },
403
+ { 0x4B1, 71 },
404
+ { 0x4B3, 59 },
405
+ { 0x4B5, 89 },
406
+ { 0x4B7, 65 },
407
+ { 0x4B8, 155 },
408
+ { 0x4B9, 119 },
409
+ { 0x4BA, 21 },
410
+ { 0x4BB, 107 },
411
+ { 0x4BD, 137 },
412
+ { 0x4BF, 113 },
413
+ { 0x2401, 25 },
414
+ { 0x2402, 41 },
415
+ { 0x2405, 31 },
416
+ { 0x2406, 47 },
417
+ { 0x2408, 10 },
418
+ { 0x2409, 126 },
419
+ { 0x240C, 4 },
420
+ { 0x240D, 144 },
421
+ { 0x240E, 162 },
422
+ { 0x2411, 75 },
423
+ { 0x2415, 93 },
424
+ { 0x2418, 7 },
425
+ { 0x2419, 123 },
426
+ { 0x241C, 1 },
427
+ { 0x241D, 141 },
428
+ { 0x241E, 159 },
429
+ { 0x2420, 28 },
430
+ { 0x2421, 24 },
431
+ { 0x2422, 40 },
432
+ { 0x2423, 44 },
433
+ { 0x2424, 34 },
434
+ { 0x2425, 30 },
435
+ { 0x2426, 46 },
436
+ { 0x2427, 50 },
437
+ { 0x2429, 78 },
438
+ { 0x242D, 96 },
439
+ { 0x2431, 74 },
440
+ { 0x2435, 92 },
441
+ { 0x2438, 6 },
442
+ { 0x2439, 122 },
443
+ { 0x243C, 0 },
444
+ { 0x243D, 140 },
445
+ { 0x243E, 158 },
446
+ { 0x2481, 26 },
447
+ { 0x2482, 42 },
448
+ { 0x2485, 32 },
449
+ { 0x2486, 48 },
450
+ { 0x2488, 11 },
451
+ { 0x2489, 127 },
452
+ { 0x248C, 5 },
453
+ { 0x248D, 145 },
454
+ { 0x248E, 163 },
455
+ { 0x2491, 76 },
456
+ { 0x2495, 94 },
457
+ { 0x2498, 8 },
458
+ { 0x2499, 124 },
459
+ { 0x249C, 2 },
460
+ { 0x249D, 142 },
461
+ { 0x249E, 160 },
462
+ { 0x24A0, 29 },
463
+ { 0x24A1, 27 },
464
+ { 0x24A2, 43 },
465
+ { 0x24A3, 45 },
466
+ { 0x24A4, 35 },
467
+ { 0x24A5, 33 },
468
+ { 0x24A6, 49 },
469
+ { 0x24A7, 51 },
470
+ { 0x24A9, 79 },
471
+ { 0x24AD, 97 },
472
+ { 0x24B1, 77 },
473
+ { 0x24B5, 95 },
474
+ { 0x24B8, 9 },
475
+ { 0x24B9, 125 },
476
+ { 0x24BC, 3 },
477
+ { 0x24BD, 143 },
478
+ { 0x24BE, 161 },
479
+ { 0x3408, 16 },
480
+ { 0x3409, 132 },
481
+ { 0x340C, 38 },
482
+ { 0x340D, 150 },
483
+ { 0x3411, 81 },
484
+ { 0x3415, 99 },
485
+ { 0x3418, 13 },
486
+ { 0x3419, 129 },
487
+ { 0x341D, 147 },
488
+ { 0x3423, 54 },
489
+ { 0x3427, 52 },
490
+ { 0x3429, 84 },
491
+ { 0x342D, 102 },
492
+ { 0x3431, 80 },
493
+ { 0x3435, 98 },
494
+ { 0x3438, 12 },
495
+ { 0x3439, 128 },
496
+ { 0x343C, 36 },
497
+ { 0x343D, 146 },
498
+ { 0x3488, 17 },
499
+ { 0x3489, 133 },
500
+ { 0x348C, 39 },
501
+ { 0x348D, 151 },
502
+ { 0x3491, 82 },
503
+ { 0x3495, 100 },
504
+ { 0x3498, 14 },
505
+ { 0x3499, 130 },
506
+ { 0x349D, 148 },
507
+ { 0x34A3, 55 },
508
+ { 0x34A7, 53 },
509
+ { 0x34A9, 85 },
510
+ { 0x34AD, 103 },
511
+ { 0x34B1, 83 },
512
+ { 0x34B5, 101 },
513
+ { 0x34B8, 15 },
514
+ { 0x34B9, 131 },
515
+ { 0x34BC, 37 },
516
+ { 0x34BD, 149 },
517
+ };
518
+
519
+ i = binsearch_IndexTypeEncoding(Index, ARR_SIZE(Index), Encoding);
520
+ if (i == -1)
521
+ return NULL;
522
+ else
523
+ return &TLBIsList[Index[i].index];
524
+ }
525
+
526
+ static const SVEPRFM SVEPRFMsList[] = {
527
+ { "pldl1keep", 0x0 }, // 0
528
+ { "pldl1strm", 0x1 }, // 1
529
+ { "pldl2keep", 0x2 }, // 2
530
+ { "pldl2strm", 0x3 }, // 3
531
+ { "pldl3keep", 0x4 }, // 4
532
+ { "pldl3strm", 0x5 }, // 5
533
+ { "pstl1keep", 0x8 }, // 6
534
+ { "pstl1strm", 0x9 }, // 7
535
+ { "pstl2keep", 0xA }, // 8
536
+ { "pstl2strm", 0xB }, // 9
537
+ { "pstl3keep", 0xC }, // 10
538
+ { "pstl3strm", 0xD }, // 11
539
+ };
540
+
541
+ const SVEPRFM *lookupSVEPRFMByEncoding(uint16_t Encoding)
542
+ {
543
+ unsigned int i;
544
+ static const struct IndexType Index[] = {
545
+ { 0x0, 0 },
546
+ { 0x1, 1 },
547
+ { 0x2, 2 },
548
+ { 0x3, 3 },
549
+ { 0x4, 4 },
550
+ { 0x5, 5 },
551
+ { 0x8, 6 },
552
+ { 0x9, 7 },
553
+ { 0xA, 8 },
554
+ { 0xB, 9 },
555
+ { 0xC, 10 },
556
+ { 0xD, 11 },
557
+ };
558
+
559
+ i = binsearch_IndexTypeEncoding(Index, ARR_SIZE(Index), Encoding);
560
+ if (i == -1)
561
+ return NULL;
562
+ else
563
+ return &SVEPRFMsList[Index[i].index];
564
+ }
565
+
566
+ static const PRFM PRFMsList[] = {
567
+ { "pldl1keep", 0x0 }, // 0
568
+ { "pldl1strm", 0x1 }, // 1
569
+ { "pldl2keep", 0x2 }, // 2
570
+ { "pldl2strm", 0x3 }, // 3
571
+ { "pldl3keep", 0x4 }, // 4
572
+ { "pldl3strm", 0x5 }, // 5
573
+ { "plil1keep", 0x8 }, // 6
574
+ { "plil1strm", 0x9 }, // 7
575
+ { "plil2keep", 0xa }, // 8
576
+ { "plil2strm", 0xb }, // 9
577
+ { "plil3keep", 0xc }, // 10
578
+ { "plil3strm", 0xd }, // 11
579
+ { "pstl1keep", 0x10 }, // 12
580
+ { "pstl1strm", 0x11 }, // 13
581
+ { "pstl2keep", 0x12 }, // 14
582
+ { "pstl2strm", 0x13 }, // 15
583
+ { "pstl3keep", 0x14 }, // 16
584
+ { "pstl3strm", 0x15 }, // 17
585
+ };
586
+
587
+ const PRFM *lookupPRFMByEncoding(uint16_t Encoding)
588
+ {
589
+ unsigned int i;
590
+ static const struct IndexType Index[] = {
591
+ { 0x0, 0 },
592
+ { 0x1, 1 },
593
+ { 0x2, 2 },
594
+ { 0x3, 3 },
595
+ { 0x4, 4 },
596
+ { 0x5, 5 },
597
+ { 0x8, 6 },
598
+ { 0x9, 7 },
599
+ { 0xA, 8 },
600
+ { 0xB, 9 },
601
+ { 0xC, 10 },
602
+ { 0xD, 11 },
603
+ { 0x10, 12 },
604
+ { 0x11, 13 },
605
+ { 0x12, 14 },
606
+ { 0x13, 15 },
607
+ { 0x14, 16 },
608
+ { 0x15, 17 },
609
+ };
610
+
611
+ i = binsearch_IndexTypeEncoding(Index, ARR_SIZE(Index), Encoding);
612
+ if (i == -1)
613
+ return NULL;
614
+ else
615
+ return &PRFMsList[Index[i].index];
616
+ }
617
+
618
+ static const PSB PSBsList[] = {
619
+ { "csync", 0x11 }, // 0
620
+ };
621
+
622
+ const PSB *lookupPSBByEncoding(uint16_t Encoding)
623
+ {
624
+ unsigned int i;
625
+ static const struct IndexType Index[] = {
626
+ { 0x11, 0 },
627
+ };
628
+
629
+ i = binsearch_IndexTypeEncoding(Index, ARR_SIZE(Index), Encoding);
630
+ if (i == -1)
631
+ return NULL;
632
+ else
633
+ return &PSBsList[Index[i].index];
634
+ }
635
+
636
+ static const ISB ISBsList[] = {
637
+ { "sy", 0xf }, // 0
638
+ };
639
+
640
+ const ISB *lookupISBByEncoding(uint16_t Encoding)
641
+ {
642
+ unsigned int i;
643
+ static const struct IndexType Index[] = {
644
+ { 0xF, 0 },
645
+ };
646
+
647
+ i = binsearch_IndexTypeEncoding(Index, ARR_SIZE(Index), Encoding);
648
+ if (i == -1)
649
+ return NULL;
650
+ else
651
+ return &ISBsList[Index[i].index];
652
+ }
653
+
654
+ static const TSB TSBsList[] = {
655
+ { "csync", 0x0 }, // 0
656
+ };
657
+
658
+ const TSB *lookupTSBByEncoding(uint16_t Encoding)
659
+ {
660
+ static const struct IndexType Index[] = {
661
+ { 0x0, 0 },
662
+ };
663
+
664
+ if (Encoding >= ARR_SIZE(TSBsList))
665
+ return NULL;
666
+ else
667
+ return &TSBsList[Index[Encoding].index];
668
+ }
669
+
670
+ static const SysReg SysRegsList[] = {
671
+ { "accdata_el1", 0xC685, true, true }, // 0
672
+ { "actlr_el1", 0xC081, true, true }, // 1
673
+ { "actlr_el2", 0xE081, true, true }, // 2
674
+ { "actlr_el3", 0xF081, true, true }, // 3
675
+ { "afsr0_el1", 0xC288, true, true }, // 4
676
+ { "afsr0_el12", 0xEA88, true, true }, // 5
677
+ { "afsr0_el2", 0xE288, true, true }, // 6
678
+ { "afsr0_el3", 0xF288, true, true }, // 7
679
+ { "afsr1_el1", 0xC289, true, true }, // 8
680
+ { "afsr1_el12", 0xEA89, true, true }, // 9
681
+ { "afsr1_el2", 0xE289, true, true }, // 10
682
+ { "afsr1_el3", 0xF289, true, true }, // 11
683
+ { "aidr_el1", 0xC807, true, false }, // 12
684
+ { "amair_el1", 0xC518, true, true }, // 13
685
+ { "amair_el12", 0xED18, true, true }, // 14
686
+ { "amair_el2", 0xE518, true, true }, // 15
687
+ { "amair_el3", 0xF518, true, true }, // 16
688
+ { "amcfgr_el0", 0xDE91, true, false }, // 17
689
+ { "amcgcr_el0", 0xDE92, true, false }, // 18
690
+ { "amcntenclr0_el0", 0xDE94, true, true }, // 19
691
+ { "amcntenclr1_el0", 0xDE98, true, true }, // 20
692
+ { "amcntenset0_el0", 0xDE95, true, true }, // 21
693
+ { "amcntenset1_el0", 0xDE99, true, true }, // 22
694
+ { "amcr_el0", 0xDE90, true, true }, // 23
695
+ { "amevcntr00_el0", 0xDEA0, true, true }, // 24
696
+ { "amevcntr01_el0", 0xDEA1, true, true }, // 25
697
+ { "amevcntr02_el0", 0xDEA2, true, true }, // 26
698
+ { "amevcntr03_el0", 0xDEA3, true, true }, // 27
699
+ { "amevcntr10_el0", 0xDEE0, true, true }, // 28
700
+ { "amevcntr110_el0", 0xDEEA, true, true }, // 29
701
+ { "amevcntr111_el0", 0xDEEB, true, true }, // 30
702
+ { "amevcntr112_el0", 0xDEEC, true, true }, // 31
703
+ { "amevcntr113_el0", 0xDEED, true, true }, // 32
704
+ { "amevcntr114_el0", 0xDEEE, true, true }, // 33
705
+ { "amevcntr115_el0", 0xDEEF, true, true }, // 34
706
+ { "amevcntr11_el0", 0xDEE1, true, true }, // 35
707
+ { "amevcntr12_el0", 0xDEE2, true, true }, // 36
708
+ { "amevcntr13_el0", 0xDEE3, true, true }, // 37
709
+ { "amevcntr14_el0", 0xDEE4, true, true }, // 38
710
+ { "amevcntr15_el0", 0xDEE5, true, true }, // 39
711
+ { "amevcntr16_el0", 0xDEE6, true, true }, // 40
712
+ { "amevcntr17_el0", 0xDEE7, true, true }, // 41
713
+ { "amevcntr18_el0", 0xDEE8, true, true }, // 42
714
+ { "amevcntr19_el0", 0xDEE9, true, true }, // 43
715
+ { "amevcntvoff00_el2", 0xE6C0, true, true }, // 44
716
+ { "amevcntvoff010_el2", 0xE6CA, true, true }, // 45
717
+ { "amevcntvoff011_el2", 0xE6CB, true, true }, // 46
718
+ { "amevcntvoff012_el2", 0xE6CC, true, true }, // 47
719
+ { "amevcntvoff013_el2", 0xE6CD, true, true }, // 48
720
+ { "amevcntvoff014_el2", 0xE6CE, true, true }, // 49
721
+ { "amevcntvoff015_el2", 0xE6CF, true, true }, // 50
722
+ { "amevcntvoff01_el2", 0xE6C1, true, true }, // 51
723
+ { "amevcntvoff02_el2", 0xE6C2, true, true }, // 52
724
+ { "amevcntvoff03_el2", 0xE6C3, true, true }, // 53
725
+ { "amevcntvoff04_el2", 0xE6C4, true, true }, // 54
726
+ { "amevcntvoff05_el2", 0xE6C5, true, true }, // 55
727
+ { "amevcntvoff06_el2", 0xE6C6, true, true }, // 56
728
+ { "amevcntvoff07_el2", 0xE6C7, true, true }, // 57
729
+ { "amevcntvoff08_el2", 0xE6C8, true, true }, // 58
730
+ { "amevcntvoff09_el2", 0xE6C9, true, true }, // 59
731
+ { "amevcntvoff10_el2", 0xE6D0, true, true }, // 60
732
+ { "amevcntvoff110_el2", 0xE6DA, true, true }, // 61
733
+ { "amevcntvoff111_el2", 0xE6DB, true, true }, // 62
734
+ { "amevcntvoff112_el2", 0xE6DC, true, true }, // 63
735
+ { "amevcntvoff113_el2", 0xE6DD, true, true }, // 64
736
+ { "amevcntvoff114_el2", 0xE6DE, true, true }, // 65
737
+ { "amevcntvoff115_el2", 0xE6DF, true, true }, // 66
738
+ { "amevcntvoff11_el2", 0xE6D1, true, true }, // 67
739
+ { "amevcntvoff12_el2", 0xE6D2, true, true }, // 68
740
+ { "amevcntvoff13_el2", 0xE6D3, true, true }, // 69
741
+ { "amevcntvoff14_el2", 0xE6D4, true, true }, // 70
742
+ { "amevcntvoff15_el2", 0xE6D5, true, true }, // 71
743
+ { "amevcntvoff16_el2", 0xE6D6, true, true }, // 72
744
+ { "amevcntvoff17_el2", 0xE6D7, true, true }, // 73
745
+ { "amevcntvoff18_el2", 0xE6D8, true, true }, // 74
746
+ { "amevcntvoff19_el2", 0xE6D9, true, true }, // 75
747
+ { "amevtyper00_el0", 0xDEB0, true, false }, // 76
748
+ { "amevtyper01_el0", 0xDEB1, true, false }, // 77
749
+ { "amevtyper02_el0", 0xDEB2, true, false }, // 78
750
+ { "amevtyper03_el0", 0xDEB3, true, false }, // 79
751
+ { "amevtyper10_el0", 0xDEF0, true, true }, // 80
752
+ { "amevtyper110_el0", 0xDEFA, true, true }, // 81
753
+ { "amevtyper111_el0", 0xDEFB, true, true }, // 82
754
+ { "amevtyper112_el0", 0xDEFC, true, true }, // 83
755
+ { "amevtyper113_el0", 0xDEFD, true, true }, // 84
756
+ { "amevtyper114_el0", 0xDEFE, true, true }, // 85
757
+ { "amevtyper115_el0", 0xDEFF, true, true }, // 86
758
+ { "amevtyper11_el0", 0xDEF1, true, true }, // 87
759
+ { "amevtyper12_el0", 0xDEF2, true, true }, // 88
760
+ { "amevtyper13_el0", 0xDEF3, true, true }, // 89
761
+ { "amevtyper14_el0", 0xDEF4, true, true }, // 90
762
+ { "amevtyper15_el0", 0xDEF5, true, true }, // 91
763
+ { "amevtyper16_el0", 0xDEF6, true, true }, // 92
764
+ { "amevtyper17_el0", 0xDEF7, true, true }, // 93
765
+ { "amevtyper18_el0", 0xDEF8, true, true }, // 94
766
+ { "amevtyper19_el0", 0xDEF9, true, true }, // 95
767
+ { "amuserenr_el0", 0xDE93, true, true }, // 96
768
+ { "apdakeyhi_el1", 0xC111, true, true }, // 97
769
+ { "apdakeylo_el1", 0xC110, true, true }, // 98
770
+ { "apdbkeyhi_el1", 0xC113, true, true }, // 99
771
+ { "apdbkeylo_el1", 0xC112, true, true }, // 100
772
+ { "apgakeyhi_el1", 0xC119, true, true }, // 101
773
+ { "apgakeylo_el1", 0xC118, true, true }, // 102
774
+ { "apiakeyhi_el1", 0xC109, true, true }, // 103
775
+ { "apiakeylo_el1", 0xC108, true, true }, // 104
776
+ { "apibkeyhi_el1", 0xC10B, true, true }, // 105
777
+ { "apibkeylo_el1", 0xC10A, true, true }, // 106
778
+ { "brbcr_el1", 0x8C80, true, true }, // 107
779
+ { "brbcr_el12", 0xAC80, true, true }, // 108
780
+ { "brbcr_el2", 0xA480, true, true }, // 109
781
+ { "brbfcr_el1", 0x8C81, true, true }, // 110
782
+ { "brbidr0_el1", 0x8C90, true, false }, // 111
783
+ { "brbinf0_el1", 0x8C00, true, false }, // 112
784
+ { "brbinf10_el1", 0x8C50, true, false }, // 113
785
+ { "brbinf11_el1", 0x8C58, true, false }, // 114
786
+ { "brbinf12_el1", 0x8C60, true, false }, // 115
787
+ { "brbinf13_el1", 0x8C68, true, false }, // 116
788
+ { "brbinf14_el1", 0x8C70, true, false }, // 117
789
+ { "brbinf15_el1", 0x8C78, true, false }, // 118
790
+ { "brbinf16_el1", 0x8C04, true, false }, // 119
791
+ { "brbinf17_el1", 0x8C0C, true, false }, // 120
792
+ { "brbinf18_el1", 0x8C14, true, false }, // 121
793
+ { "brbinf19_el1", 0x8C1C, true, false }, // 122
794
+ { "brbinf1_el1", 0x8C08, true, false }, // 123
795
+ { "brbinf20_el1", 0x8C24, true, false }, // 124
796
+ { "brbinf21_el1", 0x8C2C, true, false }, // 125
797
+ { "brbinf22_el1", 0x8C34, true, false }, // 126
798
+ { "brbinf23_el1", 0x8C3C, true, false }, // 127
799
+ { "brbinf24_el1", 0x8C44, true, false }, // 128
800
+ { "brbinf25_el1", 0x8C4C, true, false }, // 129
801
+ { "brbinf26_el1", 0x8C54, true, false }, // 130
802
+ { "brbinf27_el1", 0x8C5C, true, false }, // 131
803
+ { "brbinf28_el1", 0x8C64, true, false }, // 132
804
+ { "brbinf29_el1", 0x8C6C, true, false }, // 133
805
+ { "brbinf2_el1", 0x8C10, true, false }, // 134
806
+ { "brbinf30_el1", 0x8C74, true, false }, // 135
807
+ { "brbinf31_el1", 0x8C7C, true, false }, // 136
808
+ { "brbinf3_el1", 0x8C18, true, false }, // 137
809
+ { "brbinf4_el1", 0x8C20, true, false }, // 138
810
+ { "brbinf5_el1", 0x8C28, true, false }, // 139
811
+ { "brbinf6_el1", 0x8C30, true, false }, // 140
812
+ { "brbinf7_el1", 0x8C38, true, false }, // 141
813
+ { "brbinf8_el1", 0x8C40, true, false }, // 142
814
+ { "brbinf9_el1", 0x8C48, true, false }, // 143
815
+ { "brbinfinj_el1", 0x8C88, true, true }, // 144
816
+ { "brbsrc0_el1", 0x8C01, true, false }, // 145
817
+ { "brbsrc10_el1", 0x8C51, true, false }, // 146
818
+ { "brbsrc11_el1", 0x8C59, true, false }, // 147
819
+ { "brbsrc12_el1", 0x8C61, true, false }, // 148
820
+ { "brbsrc13_el1", 0x8C69, true, false }, // 149
821
+ { "brbsrc14_el1", 0x8C71, true, false }, // 150
822
+ { "brbsrc15_el1", 0x8C79, true, false }, // 151
823
+ { "brbsrc16_el1", 0x8C05, true, false }, // 152
824
+ { "brbsrc17_el1", 0x8C0D, true, false }, // 153
825
+ { "brbsrc18_el1", 0x8C15, true, false }, // 154
826
+ { "brbsrc19_el1", 0x8C1D, true, false }, // 155
827
+ { "brbsrc1_el1", 0x8C09, true, false }, // 156
828
+ { "brbsrc20_el1", 0x8C25, true, false }, // 157
829
+ { "brbsrc21_el1", 0x8C2D, true, false }, // 158
830
+ { "brbsrc22_el1", 0x8C35, true, false }, // 159
831
+ { "brbsrc23_el1", 0x8C3D, true, false }, // 160
832
+ { "brbsrc24_el1", 0x8C45, true, false }, // 161
833
+ { "brbsrc25_el1", 0x8C4D, true, false }, // 162
834
+ { "brbsrc26_el1", 0x8C55, true, false }, // 163
835
+ { "brbsrc27_el1", 0x8C5D, true, false }, // 164
836
+ { "brbsrc28_el1", 0x8C65, true, false }, // 165
837
+ { "brbsrc29_el1", 0x8C6D, true, false }, // 166
838
+ { "brbsrc2_el1", 0x8C11, true, false }, // 167
839
+ { "brbsrc30_el1", 0x8C75, true, false }, // 168
840
+ { "brbsrc31_el1", 0x8C7D, true, false }, // 169
841
+ { "brbsrc3_el1", 0x8C19, true, false }, // 170
842
+ { "brbsrc4_el1", 0x8C21, true, false }, // 171
843
+ { "brbsrc5_el1", 0x8C29, true, false }, // 172
844
+ { "brbsrc6_el1", 0x8C31, true, false }, // 173
845
+ { "brbsrc7_el1", 0x8C39, true, false }, // 174
846
+ { "brbsrc8_el1", 0x8C41, true, false }, // 175
847
+ { "brbsrc9_el1", 0x8C49, true, false }, // 176
848
+ { "brbsrcinj_el1", 0x8C89, true, true }, // 177
849
+ { "brbtgt0_el1", 0x8C02, true, false }, // 178
850
+ { "brbtgt10_el1", 0x8C52, true, false }, // 179
851
+ { "brbtgt11_el1", 0x8C5A, true, false }, // 180
852
+ { "brbtgt12_el1", 0x8C62, true, false }, // 181
853
+ { "brbtgt13_el1", 0x8C6A, true, false }, // 182
854
+ { "brbtgt14_el1", 0x8C72, true, false }, // 183
855
+ { "brbtgt15_el1", 0x8C7A, true, false }, // 184
856
+ { "brbtgt16_el1", 0x8C06, true, false }, // 185
857
+ { "brbtgt17_el1", 0x8C0E, true, false }, // 186
858
+ { "brbtgt18_el1", 0x8C16, true, false }, // 187
859
+ { "brbtgt19_el1", 0x8C1E, true, false }, // 188
860
+ { "brbtgt1_el1", 0x8C0A, true, false }, // 189
861
+ { "brbtgt20_el1", 0x8C26, true, false }, // 190
862
+ { "brbtgt21_el1", 0x8C2E, true, false }, // 191
863
+ { "brbtgt22_el1", 0x8C36, true, false }, // 192
864
+ { "brbtgt23_el1", 0x8C3E, true, false }, // 193
865
+ { "brbtgt24_el1", 0x8C46, true, false }, // 194
866
+ { "brbtgt25_el1", 0x8C4E, true, false }, // 195
867
+ { "brbtgt26_el1", 0x8C56, true, false }, // 196
868
+ { "brbtgt27_el1", 0x8C5E, true, false }, // 197
869
+ { "brbtgt28_el1", 0x8C66, true, false }, // 198
870
+ { "brbtgt29_el1", 0x8C6E, true, false }, // 199
871
+ { "brbtgt2_el1", 0x8C12, true, false }, // 200
872
+ { "brbtgt30_el1", 0x8C76, true, false }, // 201
873
+ { "brbtgt31_el1", 0x8C7E, true, false }, // 202
874
+ { "brbtgt3_el1", 0x8C1A, true, false }, // 203
875
+ { "brbtgt4_el1", 0x8C22, true, false }, // 204
876
+ { "brbtgt5_el1", 0x8C2A, true, false }, // 205
877
+ { "brbtgt6_el1", 0x8C32, true, false }, // 206
878
+ { "brbtgt7_el1", 0x8C3A, true, false }, // 207
879
+ { "brbtgt8_el1", 0x8C42, true, false }, // 208
880
+ { "brbtgt9_el1", 0x8C4A, true, false }, // 209
881
+ { "brbtgtinj_el1", 0x8C8A, true, true }, // 210
882
+ { "brbts_el1", 0x8C82, true, true }, // 211
883
+ { "ccsidr2_el1", 0xC802, true, false }, // 212
884
+ { "ccsidr_el1", 0xC800, true, false }, // 213
885
+ { "clidr_el1", 0xC801, true, false }, // 214
886
+ { "cntfrq_el0", 0xDF00, true, true }, // 215
887
+ { "cnthctl_el2", 0xE708, true, true }, // 216
888
+ { "cnthps_ctl_el2", 0xE729, true, true }, // 217
889
+ { "cnthps_cval_el2", 0xE72A, true, true }, // 218
890
+ { "cnthps_tval_el2", 0xE728, true, true }, // 219
891
+ { "cnthp_ctl_el2", 0xE711, true, true }, // 220
892
+ { "cnthp_cval_el2", 0xE712, true, true }, // 221
893
+ { "cnthp_tval_el2", 0xE710, true, true }, // 222
894
+ { "cnthvs_ctl_el2", 0xE721, true, true }, // 223
895
+ { "cnthvs_cval_el2", 0xE722, true, true }, // 224
896
+ { "cnthvs_tval_el2", 0xE720, true, true }, // 225
897
+ { "cnthv_ctl_el2", 0xE719, true, true }, // 226
898
+ { "cnthv_cval_el2", 0xE71A, true, true }, // 227
899
+ { "cnthv_tval_el2", 0xE718, true, true }, // 228
900
+ { "cntiscale_el2", 0xE705, true, true }, // 229
901
+ { "cntkctl_el1", 0xC708, true, true }, // 230
902
+ { "cntkctl_el12", 0xEF08, true, true }, // 231
903
+ { "cntpctss_el0", 0xDF05, true, true }, // 232
904
+ { "cntpct_el0", 0xDF01, true, false }, // 233
905
+ { "cntpoff_el2", 0xE706, true, true }, // 234
906
+ { "cntps_ctl_el1", 0xFF11, true, true }, // 235
907
+ { "cntps_cval_el1", 0xFF12, true, true }, // 236
908
+ { "cntps_tval_el1", 0xFF10, true, true }, // 237
909
+ { "cntp_ctl_el0", 0xDF11, true, true }, // 238
910
+ { "cntp_ctl_el02", 0xEF11, true, true }, // 239
911
+ { "cntp_cval_el0", 0xDF12, true, true }, // 240
912
+ { "cntp_cval_el02", 0xEF12, true, true }, // 241
913
+ { "cntp_tval_el0", 0xDF10, true, true }, // 242
914
+ { "cntp_tval_el02", 0xEF10, true, true }, // 243
915
+ { "cntscale_el2", 0xE704, true, true }, // 244
916
+ { "cntvctss_el0", 0xDF06, true, true }, // 245
917
+ { "cntvct_el0", 0xDF02, true, false }, // 246
918
+ { "cntvfrq_el2", 0xE707, true, true }, // 247
919
+ { "cntvoff_el2", 0xE703, true, true }, // 248
920
+ { "cntv_ctl_el0", 0xDF19, true, true }, // 249
921
+ { "cntv_ctl_el02", 0xEF19, true, true }, // 250
922
+ { "cntv_cval_el0", 0xDF1A, true, true }, // 251
923
+ { "cntv_cval_el02", 0xEF1A, true, true }, // 252
924
+ { "cntv_tval_el0", 0xDF18, true, true }, // 253
925
+ { "cntv_tval_el02", 0xEF18, true, true }, // 254
926
+ { "contextidr_el1", 0xC681, true, true }, // 255
927
+ { "contextidr_el12", 0xEE81, true, true }, // 256
928
+ { "contextidr_el2", 0xE681, true, true }, // 257
929
+ { "cpacr_el1", 0xC082, true, true }, // 258
930
+ { "cpacr_el12", 0xE882, true, true }, // 259
931
+ { "cpm_ioacc_ctl_el3", 0xFF90, true, true }, // 260
932
+ { "cptr_el2", 0xE08A, true, true }, // 261
933
+ { "cptr_el3", 0xF08A, true, true }, // 262
934
+ { "csselr_el1", 0xD000, true, true }, // 263
935
+ { "ctr_el0", 0xD801, true, false }, // 264
936
+ { "currentel", 0xC212, true, false }, // 265
937
+ { "dacr32_el2", 0xE180, true, true }, // 266
938
+ { "daif", 0xDA11, true, true }, // 267
939
+ { "dbgauthstatus_el1", 0x83F6, true, false }, // 268
940
+ { "dbgbcr0_el1", 0x8005, true, true }, // 269
941
+ { "dbgbcr10_el1", 0x8055, true, true }, // 270
942
+ { "dbgbcr11_el1", 0x805D, true, true }, // 271
943
+ { "dbgbcr12_el1", 0x8065, true, true }, // 272
944
+ { "dbgbcr13_el1", 0x806D, true, true }, // 273
945
+ { "dbgbcr14_el1", 0x8075, true, true }, // 274
946
+ { "dbgbcr15_el1", 0x807D, true, true }, // 275
947
+ { "dbgbcr1_el1", 0x800D, true, true }, // 276
948
+ { "dbgbcr2_el1", 0x8015, true, true }, // 277
949
+ { "dbgbcr3_el1", 0x801D, true, true }, // 278
950
+ { "dbgbcr4_el1", 0x8025, true, true }, // 279
951
+ { "dbgbcr5_el1", 0x802D, true, true }, // 280
952
+ { "dbgbcr6_el1", 0x8035, true, true }, // 281
953
+ { "dbgbcr7_el1", 0x803D, true, true }, // 282
954
+ { "dbgbcr8_el1", 0x8045, true, true }, // 283
955
+ { "dbgbcr9_el1", 0x804D, true, true }, // 284
956
+ { "dbgbvr0_el1", 0x8004, true, true }, // 285
957
+ { "dbgbvr10_el1", 0x8054, true, true }, // 286
958
+ { "dbgbvr11_el1", 0x805C, true, true }, // 287
959
+ { "dbgbvr12_el1", 0x8064, true, true }, // 288
960
+ { "dbgbvr13_el1", 0x806C, true, true }, // 289
961
+ { "dbgbvr14_el1", 0x8074, true, true }, // 290
962
+ { "dbgbvr15_el1", 0x807C, true, true }, // 291
963
+ { "dbgbvr1_el1", 0x800C, true, true }, // 292
964
+ { "dbgbvr2_el1", 0x8014, true, true }, // 293
965
+ { "dbgbvr3_el1", 0x801C, true, true }, // 294
966
+ { "dbgbvr4_el1", 0x8024, true, true }, // 295
967
+ { "dbgbvr5_el1", 0x802C, true, true }, // 296
968
+ { "dbgbvr6_el1", 0x8034, true, true }, // 297
969
+ { "dbgbvr7_el1", 0x803C, true, true }, // 298
970
+ { "dbgbvr8_el1", 0x8044, true, true }, // 299
971
+ { "dbgbvr9_el1", 0x804C, true, true }, // 300
972
+ { "dbgclaimclr_el1", 0x83CE, true, true }, // 301
973
+ { "dbgclaimset_el1", 0x83C6, true, true }, // 302
974
+ { "dbgdtrrx_el0", 0x9828, true, false }, // 303
975
+ { "dbgdtrtx_el0", 0x9828, false, true }, // 304
976
+ { "dbgdtr_el0", 0x9820, true, true }, // 305
977
+ { "dbgprcr_el1", 0x80A4, true, true }, // 306
978
+ { "dbgvcr32_el2", 0xA038, true, true }, // 307
979
+ { "dbgwcr0_el1", 0x8007, true, true }, // 308
980
+ { "dbgwcr10_el1", 0x8057, true, true }, // 309
981
+ { "dbgwcr11_el1", 0x805F, true, true }, // 310
982
+ { "dbgwcr12_el1", 0x8067, true, true }, // 311
983
+ { "dbgwcr13_el1", 0x806F, true, true }, // 312
984
+ { "dbgwcr14_el1", 0x8077, true, true }, // 313
985
+ { "dbgwcr15_el1", 0x807F, true, true }, // 314
986
+ { "dbgwcr1_el1", 0x800F, true, true }, // 315
987
+ { "dbgwcr2_el1", 0x8017, true, true }, // 316
988
+ { "dbgwcr3_el1", 0x801F, true, true }, // 317
989
+ { "dbgwcr4_el1", 0x8027, true, true }, // 318
990
+ { "dbgwcr5_el1", 0x802F, true, true }, // 319
991
+ { "dbgwcr6_el1", 0x8037, true, true }, // 320
992
+ { "dbgwcr7_el1", 0x803F, true, true }, // 321
993
+ { "dbgwcr8_el1", 0x8047, true, true }, // 322
994
+ { "dbgwcr9_el1", 0x804F, true, true }, // 323
995
+ { "dbgwvr0_el1", 0x8006, true, true }, // 324
996
+ { "dbgwvr10_el1", 0x8056, true, true }, // 325
997
+ { "dbgwvr11_el1", 0x805E, true, true }, // 326
998
+ { "dbgwvr12_el1", 0x8066, true, true }, // 327
999
+ { "dbgwvr13_el1", 0x806E, true, true }, // 328
1000
+ { "dbgwvr14_el1", 0x8076, true, true }, // 329
1001
+ { "dbgwvr15_el1", 0x807E, true, true }, // 330
1002
+ { "dbgwvr1_el1", 0x800E, true, true }, // 331
1003
+ { "dbgwvr2_el1", 0x8016, true, true }, // 332
1004
+ { "dbgwvr3_el1", 0x801E, true, true }, // 333
1005
+ { "dbgwvr4_el1", 0x8026, true, true }, // 334
1006
+ { "dbgwvr5_el1", 0x802E, true, true }, // 335
1007
+ { "dbgwvr6_el1", 0x8036, true, true }, // 336
1008
+ { "dbgwvr7_el1", 0x803E, true, true }, // 337
1009
+ { "dbgwvr8_el1", 0x8046, true, true }, // 338
1010
+ { "dbgwvr9_el1", 0x804E, true, true }, // 339
1011
+ { "dczid_el0", 0xD807, true, false }, // 340
1012
+ { "disr_el1", 0xC609, true, true }, // 341
1013
+ { "dit", 0xDA15, true, true }, // 342
1014
+ { "dlr_el0", 0xDA29, true, true }, // 343
1015
+ { "dspsr_el0", 0xDA28, true, true }, // 344
1016
+ { "elr_el1", 0xC201, true, true }, // 345
1017
+ { "elr_el12", 0xEA01, true, true }, // 346
1018
+ { "elr_el2", 0xE201, true, true }, // 347
1019
+ { "elr_el3", 0xF201, true, true }, // 348
1020
+ { "erridr_el1", 0xC298, true, false }, // 349
1021
+ { "errselr_el1", 0xC299, true, true }, // 350
1022
+ { "erxaddr_el1", 0xC2A3, true, true }, // 351
1023
+ { "erxctlr_el1", 0xC2A1, true, true }, // 352
1024
+ { "erxfr_el1", 0xC2A0, true, false }, // 353
1025
+ { "erxmisc0_el1", 0xC2A8, true, true }, // 354
1026
+ { "erxmisc1_el1", 0xC2A9, true, true }, // 355
1027
+ { "erxmisc2_el1", 0xC2AA, true, true }, // 356
1028
+ { "erxmisc3_el1", 0xC2AB, true, true }, // 357
1029
+ { "erxpfgcdn_el1", 0xC2A6, true, true }, // 358
1030
+ { "erxpfgctl_el1", 0xC2A5, true, true }, // 359
1031
+ { "erxpfgf_el1", 0xC2A4, true, false }, // 360
1032
+ { "erxstatus_el1", 0xC2A2, true, true }, // 361
1033
+ { "esr_el1", 0xC290, true, true }, // 362
1034
+ { "esr_el12", 0xEA90, true, true }, // 363
1035
+ { "esr_el2", 0xE290, true, true }, // 364
1036
+ { "esr_el3", 0xF290, true, true }, // 365
1037
+ { "far_el1", 0xC300, true, true }, // 366
1038
+ { "far_el12", 0xEB00, true, true }, // 367
1039
+ { "far_el2", 0xE300, true, true }, // 368
1040
+ { "far_el3", 0xF300, true, true }, // 369
1041
+ { "fpcr", 0xDA20, true, true }, // 370
1042
+ { "fpexc32_el2", 0xE298, true, true }, // 371
1043
+ { "fpsr", 0xDA21, true, true }, // 372
1044
+ { "gcr_el1", 0xC086, true, true }, // 373
1045
+ { "gmid_el1", 0xC804, true, false }, // 374
1046
+ { "gpccr_el3", 0xF10E, true, true }, // 375
1047
+ { "gptbr_el3", 0xF10C, true, true }, // 376
1048
+ { "hacr_el2", 0xE08F, true, true }, // 377
1049
+ { "hcrx_el2", 0xE092, true, true }, // 378
1050
+ { "hcr_el2", 0xE088, true, true }, // 379
1051
+ { "hdfgrtr_el2", 0xE18C, true, true }, // 380
1052
+ { "hdfgwtr_el2", 0xE18D, true, true }, // 381
1053
+ { "hfgitr_el2", 0xE08E, true, true }, // 382
1054
+ { "hfgrtr_el2", 0xE08C, true, true }, // 383
1055
+ { "hfgwtr_el2", 0xE08D, true, true }, // 384
1056
+ { "hpfar_el2", 0xE304, true, true }, // 385
1057
+ { "hstr_el2", 0xE08B, true, true }, // 386
1058
+ { "icc_ap0r0_el1", 0xC644, true, true }, // 387
1059
+ { "icc_ap0r1_el1", 0xC645, true, true }, // 388
1060
+ { "icc_ap0r2_el1", 0xC646, true, true }, // 389
1061
+ { "icc_ap0r3_el1", 0xC647, true, true }, // 390
1062
+ { "icc_ap1r0_el1", 0xC648, true, true }, // 391
1063
+ { "icc_ap1r1_el1", 0xC649, true, true }, // 392
1064
+ { "icc_ap1r2_el1", 0xC64A, true, true }, // 393
1065
+ { "icc_ap1r3_el1", 0xC64B, true, true }, // 394
1066
+ { "icc_asgi1r_el1", 0xC65E, false, true }, // 395
1067
+ { "icc_bpr0_el1", 0xC643, true, true }, // 396
1068
+ { "icc_bpr1_el1", 0xC663, true, true }, // 397
1069
+ { "icc_ctlr_el1", 0xC664, true, true }, // 398
1070
+ { "icc_ctlr_el3", 0xF664, true, true }, // 399
1071
+ { "icc_dir_el1", 0xC659, false, true }, // 400
1072
+ { "icc_eoir0_el1", 0xC641, false, true }, // 401
1073
+ { "icc_eoir1_el1", 0xC661, false, true }, // 402
1074
+ { "icc_hppir0_el1", 0xC642, true, false }, // 403
1075
+ { "icc_hppir1_el1", 0xC662, true, false }, // 404
1076
+ { "icc_iar0_el1", 0xC640, true, false }, // 405
1077
+ { "icc_iar1_el1", 0xC660, true, false }, // 406
1078
+ { "icc_igrpen0_el1", 0xC666, true, true }, // 407
1079
+ { "icc_igrpen1_el1", 0xC667, true, true }, // 408
1080
+ { "icc_igrpen1_el3", 0xF667, true, true }, // 409
1081
+ { "icc_pmr_el1", 0xC230, true, true }, // 410
1082
+ { "icc_rpr_el1", 0xC65B, true, false }, // 411
1083
+ { "icc_sgi0r_el1", 0xC65F, false, true }, // 412
1084
+ { "icc_sgi1r_el1", 0xC65D, false, true }, // 413
1085
+ { "icc_sre_el1", 0xC665, true, true }, // 414
1086
+ { "icc_sre_el2", 0xE64D, true, true }, // 415
1087
+ { "icc_sre_el3", 0xF665, true, true }, // 416
1088
+ { "ich_ap0r0_el2", 0xE640, true, true }, // 417
1089
+ { "ich_ap0r1_el2", 0xE641, true, true }, // 418
1090
+ { "ich_ap0r2_el2", 0xE642, true, true }, // 419
1091
+ { "ich_ap0r3_el2", 0xE643, true, true }, // 420
1092
+ { "ich_ap1r0_el2", 0xE648, true, true }, // 421
1093
+ { "ich_ap1r1_el2", 0xE649, true, true }, // 422
1094
+ { "ich_ap1r2_el2", 0xE64A, true, true }, // 423
1095
+ { "ich_ap1r3_el2", 0xE64B, true, true }, // 424
1096
+ { "ich_eisr_el2", 0xE65B, true, false }, // 425
1097
+ { "ich_elrsr_el2", 0xE65D, true, false }, // 426
1098
+ { "ich_hcr_el2", 0xE658, true, true }, // 427
1099
+ { "ich_lr0_el2", 0xE660, true, true }, // 428
1100
+ { "ich_lr10_el2", 0xE66A, true, true }, // 429
1101
+ { "ich_lr11_el2", 0xE66B, true, true }, // 430
1102
+ { "ich_lr12_el2", 0xE66C, true, true }, // 431
1103
+ { "ich_lr13_el2", 0xE66D, true, true }, // 432
1104
+ { "ich_lr14_el2", 0xE66E, true, true }, // 433
1105
+ { "ich_lr15_el2", 0xE66F, true, true }, // 434
1106
+ { "ich_lr1_el2", 0xE661, true, true }, // 435
1107
+ { "ich_lr2_el2", 0xE662, true, true }, // 436
1108
+ { "ich_lr3_el2", 0xE663, true, true }, // 437
1109
+ { "ich_lr4_el2", 0xE664, true, true }, // 438
1110
+ { "ich_lr5_el2", 0xE665, true, true }, // 439
1111
+ { "ich_lr6_el2", 0xE666, true, true }, // 440
1112
+ { "ich_lr7_el2", 0xE667, true, true }, // 441
1113
+ { "ich_lr8_el2", 0xE668, true, true }, // 442
1114
+ { "ich_lr9_el2", 0xE669, true, true }, // 443
1115
+ { "ich_misr_el2", 0xE65A, true, false }, // 444
1116
+ { "ich_vmcr_el2", 0xE65F, true, true }, // 445
1117
+ { "ich_vtr_el2", 0xE659, true, false }, // 446
1118
+ { "id_aa64afr0_el1", 0xC02C, true, false }, // 447
1119
+ { "id_aa64afr1_el1", 0xC02D, true, false }, // 448
1120
+ { "id_aa64dfr0_el1", 0xC028, true, false }, // 449
1121
+ { "id_aa64dfr1_el1", 0xC029, true, false }, // 450
1122
+ { "id_aa64isar0_el1", 0xC030, true, false }, // 451
1123
+ { "id_aa64isar1_el1", 0xC031, true, false }, // 452
1124
+ { "id_aa64isar2_el1", 0xC032, true, false }, // 453
1125
+ { "id_aa64mmfr0_el1", 0xC038, true, false }, // 454
1126
+ { "id_aa64mmfr1_el1", 0xC039, true, false }, // 455
1127
+ { "id_aa64mmfr2_el1", 0xC03A, true, false }, // 456
1128
+ { "id_aa64pfr0_el1", 0xC020, true, false }, // 457
1129
+ { "id_aa64pfr1_el1", 0xC021, true, false }, // 458
1130
+ { "id_aa64smfr0_el1", 0xC025, true, false }, // 459
1131
+ { "id_aa64zfr0_el1", 0xC024, true, false }, // 460
1132
+ { "id_afr0_el1", 0xC00B, true, false }, // 461
1133
+ { "id_dfr0_el1", 0xC00A, true, false }, // 462
1134
+ { "id_isar0_el1", 0xC010, true, false }, // 463
1135
+ { "id_isar1_el1", 0xC011, true, false }, // 464
1136
+ { "id_isar2_el1", 0xC012, true, false }, // 465
1137
+ { "id_isar3_el1", 0xC013, true, false }, // 466
1138
+ { "id_isar4_el1", 0xC014, true, false }, // 467
1139
+ { "id_isar5_el1", 0xC015, true, false }, // 468
1140
+ { "id_isar6_el1", 0xC017, true, false }, // 469
1141
+ { "id_mmfr0_el1", 0xC00C, true, false }, // 470
1142
+ { "id_mmfr1_el1", 0xC00D, true, false }, // 471
1143
+ { "id_mmfr2_el1", 0xC00E, true, false }, // 472
1144
+ { "id_mmfr3_el1", 0xC00F, true, false }, // 473
1145
+ { "id_mmfr4_el1", 0xC016, true, false }, // 474
1146
+ { "id_mmfr5_el1", 0xC01E, true, false }, // 475
1147
+ { "id_pfr0_el1", 0xC008, true, false }, // 476
1148
+ { "id_pfr1_el1", 0xC009, true, false }, // 477
1149
+ { "id_pfr2_el1", 0xC01C, true, false }, // 478
1150
+ { "ifsr32_el2", 0xE281, true, true }, // 479
1151
+ { "isr_el1", 0xC608, true, false }, // 480
1152
+ { "lorc_el1", 0xC523, true, true }, // 481
1153
+ { "lorea_el1", 0xC521, true, true }, // 482
1154
+ { "lorid_el1", 0xC527, true, false }, // 483
1155
+ { "lorn_el1", 0xC522, true, true }, // 484
1156
+ { "lorsa_el1", 0xC520, true, true }, // 485
1157
+ { "mair_el1", 0xC510, true, true }, // 486
1158
+ { "mair_el12", 0xED10, true, true }, // 487
1159
+ { "mair_el2", 0xE510, true, true }, // 488
1160
+ { "mair_el3", 0xF510, true, true }, // 489
1161
+ { "mdccint_el1", 0x8010, true, true }, // 490
1162
+ { "mdccsr_el0", 0x9808, true, false }, // 491
1163
+ { "mdcr_el2", 0xE089, true, true }, // 492
1164
+ { "mdcr_el3", 0xF099, true, true }, // 493
1165
+ { "mdrar_el1", 0x8080, true, false }, // 494
1166
+ { "mdscr_el1", 0x8012, true, true }, // 495
1167
+ { "mfar_el3", 0xF305, true, true }, // 496
1168
+ { "midr_el1", 0xC000, true, false }, // 497
1169
+ { "mpam0_el1", 0xC529, true, true }, // 498
1170
+ { "mpam1_el1", 0xC528, true, true }, // 499
1171
+ { "mpam1_el12", 0xED28, true, true }, // 500
1172
+ { "mpam2_el2", 0xE528, true, true }, // 501
1173
+ { "mpam3_el3", 0xF528, true, true }, // 502
1174
+ { "mpamhcr_el2", 0xE520, true, true }, // 503
1175
+ { "mpamidr_el1", 0xC524, true, false }, // 504
1176
+ { "mpamsm_el1", 0xC52B, true, true }, // 505
1177
+ { "mpamvpm0_el2", 0xE530, true, true }, // 506
1178
+ { "mpamvpm1_el2", 0xE531, true, true }, // 507
1179
+ { "mpamvpm2_el2", 0xE532, true, true }, // 508
1180
+ { "mpamvpm3_el2", 0xE533, true, true }, // 509
1181
+ { "mpamvpm4_el2", 0xE534, true, true }, // 510
1182
+ { "mpamvpm5_el2", 0xE535, true, true }, // 511
1183
+ { "mpamvpm6_el2", 0xE536, true, true }, // 512
1184
+ { "mpamvpm7_el2", 0xE537, true, true }, // 513
1185
+ { "mpamvpmv_el2", 0xE521, true, true }, // 514
1186
+ { "mpidr_el1", 0xC005, true, false }, // 515
1187
+ { "mpuir_el1", 0xC004, true, true }, // 516
1188
+ { "mpuir_el2", 0xE004, true, true }, // 517
1189
+ { "mvfr0_el1", 0xC018, true, false }, // 518
1190
+ { "mvfr1_el1", 0xC019, true, false }, // 519
1191
+ { "mvfr2_el1", 0xC01A, true, false }, // 520
1192
+ { "nzcv", 0xDA10, true, true }, // 521
1193
+ { "osdlr_el1", 0x809C, true, true }, // 522
1194
+ { "osdtrrx_el1", 0x8002, true, true }, // 523
1195
+ { "osdtrtx_el1", 0x801A, true, true }, // 524
1196
+ { "oseccr_el1", 0x8032, true, true }, // 525
1197
+ { "oslar_el1", 0x8084, false, true }, // 526
1198
+ { "oslsr_el1", 0x808C, true, false }, // 527
1199
+ { "pan", 0xC213, true, true }, // 528
1200
+ { "par_el1", 0xC3A0, true, true }, // 529
1201
+ { "pmbidr_el1", 0xC4D7, true, false }, // 530
1202
+ { "pmblimitr_el1", 0xC4D0, true, true }, // 531
1203
+ { "pmbptr_el1", 0xC4D1, true, true }, // 532
1204
+ { "pmbsr_el1", 0xC4D3, true, true }, // 533
1205
+ { "pmccfiltr_el0", 0xDF7F, true, true }, // 534
1206
+ { "pmccntr_el0", 0xDCE8, true, true }, // 535
1207
+ { "pmceid0_el0", 0xDCE6, true, false }, // 536
1208
+ { "pmceid1_el0", 0xDCE7, true, false }, // 537
1209
+ { "pmcntenclr_el0", 0xDCE2, true, true }, // 538
1210
+ { "pmcntenset_el0", 0xDCE1, true, true }, // 539
1211
+ { "pmcr_el0", 0xDCE0, true, true }, // 540
1212
+ { "pmevcntr0_el0", 0xDF40, true, true }, // 541
1213
+ { "pmevcntr10_el0", 0xDF4A, true, true }, // 542
1214
+ { "pmevcntr11_el0", 0xDF4B, true, true }, // 543
1215
+ { "pmevcntr12_el0", 0xDF4C, true, true }, // 544
1216
+ { "pmevcntr13_el0", 0xDF4D, true, true }, // 545
1217
+ { "pmevcntr14_el0", 0xDF4E, true, true }, // 546
1218
+ { "pmevcntr15_el0", 0xDF4F, true, true }, // 547
1219
+ { "pmevcntr16_el0", 0xDF50, true, true }, // 548
1220
+ { "pmevcntr17_el0", 0xDF51, true, true }, // 549
1221
+ { "pmevcntr18_el0", 0xDF52, true, true }, // 550
1222
+ { "pmevcntr19_el0", 0xDF53, true, true }, // 551
1223
+ { "pmevcntr1_el0", 0xDF41, true, true }, // 552
1224
+ { "pmevcntr20_el0", 0xDF54, true, true }, // 553
1225
+ { "pmevcntr21_el0", 0xDF55, true, true }, // 554
1226
+ { "pmevcntr22_el0", 0xDF56, true, true }, // 555
1227
+ { "pmevcntr23_el0", 0xDF57, true, true }, // 556
1228
+ { "pmevcntr24_el0", 0xDF58, true, true }, // 557
1229
+ { "pmevcntr25_el0", 0xDF59, true, true }, // 558
1230
+ { "pmevcntr26_el0", 0xDF5A, true, true }, // 559
1231
+ { "pmevcntr27_el0", 0xDF5B, true, true }, // 560
1232
+ { "pmevcntr28_el0", 0xDF5C, true, true }, // 561
1233
+ { "pmevcntr29_el0", 0xDF5D, true, true }, // 562
1234
+ { "pmevcntr2_el0", 0xDF42, true, true }, // 563
1235
+ { "pmevcntr30_el0", 0xDF5E, true, true }, // 564
1236
+ { "pmevcntr3_el0", 0xDF43, true, true }, // 565
1237
+ { "pmevcntr4_el0", 0xDF44, true, true }, // 566
1238
+ { "pmevcntr5_el0", 0xDF45, true, true }, // 567
1239
+ { "pmevcntr6_el0", 0xDF46, true, true }, // 568
1240
+ { "pmevcntr7_el0", 0xDF47, true, true }, // 569
1241
+ { "pmevcntr8_el0", 0xDF48, true, true }, // 570
1242
+ { "pmevcntr9_el0", 0xDF49, true, true }, // 571
1243
+ { "pmevtyper0_el0", 0xDF60, true, true }, // 572
1244
+ { "pmevtyper10_el0", 0xDF6A, true, true }, // 573
1245
+ { "pmevtyper11_el0", 0xDF6B, true, true }, // 574
1246
+ { "pmevtyper12_el0", 0xDF6C, true, true }, // 575
1247
+ { "pmevtyper13_el0", 0xDF6D, true, true }, // 576
1248
+ { "pmevtyper14_el0", 0xDF6E, true, true }, // 577
1249
+ { "pmevtyper15_el0", 0xDF6F, true, true }, // 578
1250
+ { "pmevtyper16_el0", 0xDF70, true, true }, // 579
1251
+ { "pmevtyper17_el0", 0xDF71, true, true }, // 580
1252
+ { "pmevtyper18_el0", 0xDF72, true, true }, // 581
1253
+ { "pmevtyper19_el0", 0xDF73, true, true }, // 582
1254
+ { "pmevtyper1_el0", 0xDF61, true, true }, // 583
1255
+ { "pmevtyper20_el0", 0xDF74, true, true }, // 584
1256
+ { "pmevtyper21_el0", 0xDF75, true, true }, // 585
1257
+ { "pmevtyper22_el0", 0xDF76, true, true }, // 586
1258
+ { "pmevtyper23_el0", 0xDF77, true, true }, // 587
1259
+ { "pmevtyper24_el0", 0xDF78, true, true }, // 588
1260
+ { "pmevtyper25_el0", 0xDF79, true, true }, // 589
1261
+ { "pmevtyper26_el0", 0xDF7A, true, true }, // 590
1262
+ { "pmevtyper27_el0", 0xDF7B, true, true }, // 591
1263
+ { "pmevtyper28_el0", 0xDF7C, true, true }, // 592
1264
+ { "pmevtyper29_el0", 0xDF7D, true, true }, // 593
1265
+ { "pmevtyper2_el0", 0xDF62, true, true }, // 594
1266
+ { "pmevtyper30_el0", 0xDF7E, true, true }, // 595
1267
+ { "pmevtyper3_el0", 0xDF63, true, true }, // 596
1268
+ { "pmevtyper4_el0", 0xDF64, true, true }, // 597
1269
+ { "pmevtyper5_el0", 0xDF65, true, true }, // 598
1270
+ { "pmevtyper6_el0", 0xDF66, true, true }, // 599
1271
+ { "pmevtyper7_el0", 0xDF67, true, true }, // 600
1272
+ { "pmevtyper8_el0", 0xDF68, true, true }, // 601
1273
+ { "pmevtyper9_el0", 0xDF69, true, true }, // 602
1274
+ { "pmintenclr_el1", 0xC4F2, true, true }, // 603
1275
+ { "pmintenset_el1", 0xC4F1, true, true }, // 604
1276
+ { "pmmir_el1", 0xC4F6, true, true }, // 605
1277
+ { "pmovsclr_el0", 0xDCE3, true, true }, // 606
1278
+ { "pmovsset_el0", 0xDCF3, true, true }, // 607
1279
+ { "pmscr_el1", 0xC4C8, true, true }, // 608
1280
+ { "pmscr_el12", 0xECC8, true, true }, // 609
1281
+ { "pmscr_el2", 0xE4C8, true, true }, // 610
1282
+ { "pmselr_el0", 0xDCE5, true, true }, // 611
1283
+ { "pmsevfr_el1", 0xC4CD, true, true }, // 612
1284
+ { "pmsfcr_el1", 0xC4CC, true, true }, // 613
1285
+ { "pmsicr_el1", 0xC4CA, true, true }, // 614
1286
+ { "pmsidr_el1", 0xC4CF, true, false }, // 615
1287
+ { "pmsirr_el1", 0xC4CB, true, true }, // 616
1288
+ { "pmslatfr_el1", 0xC4CE, true, true }, // 617
1289
+ { "pmsnevfr_el1", 0xC4C9, true, true }, // 618
1290
+ { "pmswinc_el0", 0xDCE4, false, true }, // 619
1291
+ { "pmuserenr_el0", 0xDCF0, true, true }, // 620
1292
+ { "pmxevcntr_el0", 0xDCEA, true, true }, // 621
1293
+ { "pmxevtyper_el0", 0xDCE9, true, true }, // 622
1294
+ { "prbar10_el1", 0xC368, true, true }, // 623
1295
+ { "prbar10_el2", 0xE368, true, true }, // 624
1296
+ { "prbar11_el1", 0xC36C, true, true }, // 625
1297
+ { "prbar11_el2", 0xE36C, true, true }, // 626
1298
+ { "prbar12_el1", 0xC370, true, true }, // 627
1299
+ { "prbar12_el2", 0xE370, true, true }, // 628
1300
+ { "prbar13_el1", 0xC374, true, true }, // 629
1301
+ { "prbar13_el2", 0xE374, true, true }, // 630
1302
+ { "prbar14_el1", 0xC378, true, true }, // 631
1303
+ { "prbar14_el2", 0xE378, true, true }, // 632
1304
+ { "prbar15_el1", 0xC37C, true, true }, // 633
1305
+ { "prbar15_el2", 0xE37C, true, true }, // 634
1306
+ { "prbar1_el1", 0xC344, true, true }, // 635
1307
+ { "prbar1_el2", 0xE344, true, true }, // 636
1308
+ { "prbar2_el1", 0xC348, true, true }, // 637
1309
+ { "prbar2_el2", 0xE348, true, true }, // 638
1310
+ { "prbar3_el1", 0xC34C, true, true }, // 639
1311
+ { "prbar3_el2", 0xE34C, true, true }, // 640
1312
+ { "prbar4_el1", 0xC350, true, true }, // 641
1313
+ { "prbar4_el2", 0xE350, true, true }, // 642
1314
+ { "prbar5_el1", 0xC354, true, true }, // 643
1315
+ { "prbar5_el2", 0xE354, true, true }, // 644
1316
+ { "prbar6_el1", 0xC358, true, true }, // 645
1317
+ { "prbar6_el2", 0xE358, true, true }, // 646
1318
+ { "prbar7_el1", 0xC35C, true, true }, // 647
1319
+ { "prbar7_el2", 0xE35C, true, true }, // 648
1320
+ { "prbar8_el1", 0xC360, true, true }, // 649
1321
+ { "prbar8_el2", 0xE360, true, true }, // 650
1322
+ { "prbar9_el1", 0xC364, true, true }, // 651
1323
+ { "prbar9_el2", 0xE364, true, true }, // 652
1324
+ { "prbar_el1", 0xC340, true, true }, // 653
1325
+ { "prbar_el2", 0xE340, true, true }, // 654
1326
+ { "prenr_el1", 0xC309, true, true }, // 655
1327
+ { "prenr_el2", 0xE309, true, true }, // 656
1328
+ { "prlar10_el1", 0xC369, true, true }, // 657
1329
+ { "prlar10_el2", 0xE369, true, true }, // 658
1330
+ { "prlar11_el1", 0xC36D, true, true }, // 659
1331
+ { "prlar11_el2", 0xE36D, true, true }, // 660
1332
+ { "prlar12_el1", 0xC371, true, true }, // 661
1333
+ { "prlar12_el2", 0xE371, true, true }, // 662
1334
+ { "prlar13_el1", 0xC375, true, true }, // 663
1335
+ { "prlar13_el2", 0xE375, true, true }, // 664
1336
+ { "prlar14_el1", 0xC379, true, true }, // 665
1337
+ { "prlar14_el2", 0xE379, true, true }, // 666
1338
+ { "prlar15_el1", 0xC37D, true, true }, // 667
1339
+ { "prlar15_el2", 0xE37D, true, true }, // 668
1340
+ { "prlar1_el1", 0xC345, true, true }, // 669
1341
+ { "prlar1_el2", 0xE345, true, true }, // 670
1342
+ { "prlar2_el1", 0xC349, true, true }, // 671
1343
+ { "prlar2_el2", 0xE349, true, true }, // 672
1344
+ { "prlar3_el1", 0xC34D, true, true }, // 673
1345
+ { "prlar3_el2", 0xE34D, true, true }, // 674
1346
+ { "prlar4_el1", 0xC351, true, true }, // 675
1347
+ { "prlar4_el2", 0xE351, true, true }, // 676
1348
+ { "prlar5_el1", 0xC355, true, true }, // 677
1349
+ { "prlar5_el2", 0xE355, true, true }, // 678
1350
+ { "prlar6_el1", 0xC359, true, true }, // 679
1351
+ { "prlar6_el2", 0xE359, true, true }, // 680
1352
+ { "prlar7_el1", 0xC35D, true, true }, // 681
1353
+ { "prlar7_el2", 0xE35D, true, true }, // 682
1354
+ { "prlar8_el1", 0xC361, true, true }, // 683
1355
+ { "prlar8_el2", 0xE361, true, true }, // 684
1356
+ { "prlar9_el1", 0xC365, true, true }, // 685
1357
+ { "prlar9_el2", 0xE365, true, true }, // 686
1358
+ { "prlar_el1", 0xC341, true, true }, // 687
1359
+ { "prlar_el2", 0xE341, true, true }, // 688
1360
+ { "prselr_el1", 0xC311, true, true }, // 689
1361
+ { "prselr_el2", 0xE311, true, true }, // 690
1362
+ { "revidr_el1", 0xC006, true, false }, // 691
1363
+ { "rgsr_el1", 0xC085, true, true }, // 692
1364
+ { "rmr_el1", 0xC602, true, true }, // 693
1365
+ { "rmr_el2", 0xE602, true, true }, // 694
1366
+ { "rmr_el3", 0xF602, true, true }, // 695
1367
+ { "rndr", 0xD920, true, false }, // 696
1368
+ { "rndrrs", 0xD921, true, false }, // 697
1369
+ { "rvbar_el1", 0xC601, true, false }, // 698
1370
+ { "rvbar_el2", 0xE601, true, false }, // 699
1371
+ { "rvbar_el3", 0xF601, true, false }, // 700
1372
+ { "scr_el3", 0xF088, true, true }, // 701
1373
+ { "sctlr_el1", 0xC080, true, true }, // 702
1374
+ { "sctlr_el12", 0xE880, true, true }, // 703
1375
+ { "sctlr_el2", 0xE080, true, true }, // 704
1376
+ { "sctlr_el3", 0xF080, true, true }, // 705
1377
+ { "scxtnum_el0", 0xDE87, true, true }, // 706
1378
+ { "scxtnum_el1", 0xC687, true, true }, // 707
1379
+ { "scxtnum_el12", 0xEE87, true, true }, // 708
1380
+ { "scxtnum_el2", 0xE687, true, true }, // 709
1381
+ { "scxtnum_el3", 0xF687, true, true }, // 710
1382
+ { "sder32_el2", 0xE099, true, true }, // 711
1383
+ { "sder32_el3", 0xF089, true, true }, // 712
1384
+ { "smcr_el1", 0xC096, true, true }, // 713
1385
+ { "smcr_el12", 0xE896, true, true }, // 714
1386
+ { "smcr_el2", 0xE096, true, true }, // 715
1387
+ { "smcr_el3", 0xF096, true, true }, // 716
1388
+ { "smidr_el1", 0xC806, true, false }, // 717
1389
+ { "smprimap_el2", 0xE095, true, true }, // 718
1390
+ { "smpri_el1", 0xC094, true, true }, // 719
1391
+ { "spsel", 0xC210, true, true }, // 720
1392
+ { "spsr_abt", 0xE219, true, true }, // 721
1393
+ { "spsr_el1", 0xC200, true, true }, // 722
1394
+ { "spsr_el12", 0xEA00, true, true }, // 723
1395
+ { "spsr_el2", 0xE200, true, true }, // 724
1396
+ { "spsr_el3", 0xF200, true, true }, // 725
1397
+ { "spsr_fiq", 0xE21B, true, true }, // 726
1398
+ { "spsr_irq", 0xE218, true, true }, // 727
1399
+ { "spsr_und", 0xE21A, true, true }, // 728
1400
+ { "sp_el0", 0xC208, true, true }, // 729
1401
+ { "sp_el1", 0xE208, true, true }, // 730
1402
+ { "sp_el2", 0xF208, true, true }, // 731
1403
+ { "ssbs", 0xDA16, true, true }, // 732
1404
+ { "svcr", 0xDA12, true, true }, // 733
1405
+ { "tco", 0xDA17, true, true }, // 734
1406
+ { "tcr_el1", 0xC102, true, true }, // 735
1407
+ { "tcr_el12", 0xE902, true, true }, // 736
1408
+ { "tcr_el2", 0xE102, true, true }, // 737
1409
+ { "tcr_el3", 0xF102, true, true }, // 738
1410
+ { "teecr32_el1", 0x9000, true, true }, // 739
1411
+ { "teehbr32_el1", 0x9080, true, true }, // 740
1412
+ { "tfsre0_el1", 0xC2B1, true, true }, // 741
1413
+ { "tfsr_el1", 0xC2B0, true, true }, // 742
1414
+ { "tfsr_el12", 0xEAB0, true, true }, // 743
1415
+ { "tfsr_el2", 0xE2B0, true, true }, // 744
1416
+ { "tfsr_el3", 0xF2B0, true, true }, // 745
1417
+ { "tpidr2_el0", 0xDE85, true, true }, // 746
1418
+ { "tpidrro_el0", 0xDE83, true, true }, // 747
1419
+ { "tpidr_el0", 0xDE82, true, true }, // 748
1420
+ { "tpidr_el1", 0xC684, true, true }, // 749
1421
+ { "tpidr_el2", 0xE682, true, true }, // 750
1422
+ { "tpidr_el3", 0xF682, true, true }, // 751
1423
+ { "trbbaser_el1", 0xC4DA, true, true }, // 752
1424
+ { "trbidr_el1", 0xC4DF, true, false }, // 753
1425
+ { "trblimitr_el1", 0xC4D8, true, true }, // 754
1426
+ { "trbmar_el1", 0xC4DC, true, true }, // 755
1427
+ { "trbptr_el1", 0xC4D9, true, true }, // 756
1428
+ { "trbsr_el1", 0xC4DB, true, true }, // 757
1429
+ { "trbtrg_el1", 0xC4DE, true, true }, // 758
1430
+ { "trcacatr0", 0x8902, true, true }, // 759
1431
+ { "trcacatr1", 0x8912, true, true }, // 760
1432
+ { "trcacatr10", 0x8923, true, true }, // 761
1433
+ { "trcacatr11", 0x8933, true, true }, // 762
1434
+ { "trcacatr12", 0x8943, true, true }, // 763
1435
+ { "trcacatr13", 0x8953, true, true }, // 764
1436
+ { "trcacatr14", 0x8963, true, true }, // 765
1437
+ { "trcacatr15", 0x8973, true, true }, // 766
1438
+ { "trcacatr2", 0x8922, true, true }, // 767
1439
+ { "trcacatr3", 0x8932, true, true }, // 768
1440
+ { "trcacatr4", 0x8942, true, true }, // 769
1441
+ { "trcacatr5", 0x8952, true, true }, // 770
1442
+ { "trcacatr6", 0x8962, true, true }, // 771
1443
+ { "trcacatr7", 0x8972, true, true }, // 772
1444
+ { "trcacatr8", 0x8903, true, true }, // 773
1445
+ { "trcacatr9", 0x8913, true, true }, // 774
1446
+ { "trcacvr0", 0x8900, true, true }, // 775
1447
+ { "trcacvr1", 0x8910, true, true }, // 776
1448
+ { "trcacvr10", 0x8921, true, true }, // 777
1449
+ { "trcacvr11", 0x8931, true, true }, // 778
1450
+ { "trcacvr12", 0x8941, true, true }, // 779
1451
+ { "trcacvr13", 0x8951, true, true }, // 780
1452
+ { "trcacvr14", 0x8961, true, true }, // 781
1453
+ { "trcacvr15", 0x8971, true, true }, // 782
1454
+ { "trcacvr2", 0x8920, true, true }, // 783
1455
+ { "trcacvr3", 0x8930, true, true }, // 784
1456
+ { "trcacvr4", 0x8940, true, true }, // 785
1457
+ { "trcacvr5", 0x8950, true, true }, // 786
1458
+ { "trcacvr6", 0x8960, true, true }, // 787
1459
+ { "trcacvr7", 0x8970, true, true }, // 788
1460
+ { "trcacvr8", 0x8901, true, true }, // 789
1461
+ { "trcacvr9", 0x8911, true, true }, // 790
1462
+ { "trcauthstatus", 0x8BF6, true, false }, // 791
1463
+ { "trcauxctlr", 0x8830, true, true }, // 792
1464
+ { "trcbbctlr", 0x8878, true, true }, // 793
1465
+ { "trcccctlr", 0x8870, true, true }, // 794
1466
+ { "trccidcctlr0", 0x8982, true, true }, // 795
1467
+ { "trccidcctlr1", 0x898A, true, true }, // 796
1468
+ { "trccidcvr0", 0x8980, true, true }, // 797
1469
+ { "trccidcvr1", 0x8990, true, true }, // 798
1470
+ { "trccidcvr2", 0x89A0, true, true }, // 799
1471
+ { "trccidcvr3", 0x89B0, true, true }, // 800
1472
+ { "trccidcvr4", 0x89C0, true, true }, // 801
1473
+ { "trccidcvr5", 0x89D0, true, true }, // 802
1474
+ { "trccidcvr6", 0x89E0, true, true }, // 803
1475
+ { "trccidcvr7", 0x89F0, true, true }, // 804
1476
+ { "trccidr0", 0x8BE7, true, false }, // 805
1477
+ { "trccidr1", 0x8BEF, true, false }, // 806
1478
+ { "trccidr2", 0x8BF7, true, false }, // 807
1479
+ { "trccidr3", 0x8BFF, true, false }, // 808
1480
+ { "trcclaimclr", 0x8BCE, true, true }, // 809
1481
+ { "trcclaimset", 0x8BC6, true, true }, // 810
1482
+ { "trccntctlr0", 0x8825, true, true }, // 811
1483
+ { "trccntctlr1", 0x882D, true, true }, // 812
1484
+ { "trccntctlr2", 0x8835, true, true }, // 813
1485
+ { "trccntctlr3", 0x883D, true, true }, // 814
1486
+ { "trccntrldvr0", 0x8805, true, true }, // 815
1487
+ { "trccntrldvr1", 0x880D, true, true }, // 816
1488
+ { "trccntrldvr2", 0x8815, true, true }, // 817
1489
+ { "trccntrldvr3", 0x881D, true, true }, // 818
1490
+ { "trccntvr0", 0x8845, true, true }, // 819
1491
+ { "trccntvr1", 0x884D, true, true }, // 820
1492
+ { "trccntvr2", 0x8855, true, true }, // 821
1493
+ { "trccntvr3", 0x885D, true, true }, // 822
1494
+ { "trcconfigr", 0x8820, true, true }, // 823
1495
+ { "trcdevaff0", 0x8BD6, true, false }, // 824
1496
+ { "trcdevaff1", 0x8BDE, true, false }, // 825
1497
+ { "trcdevarch", 0x8BFE, true, false }, // 826
1498
+ { "trcdevid", 0x8B97, true, false }, // 827
1499
+ { "trcdevtype", 0x8B9F, true, false }, // 828
1500
+ { "trcdvcmr0", 0x8906, true, true }, // 829
1501
+ { "trcdvcmr1", 0x8926, true, true }, // 830
1502
+ { "trcdvcmr2", 0x8946, true, true }, // 831
1503
+ { "trcdvcmr3", 0x8966, true, true }, // 832
1504
+ { "trcdvcmr4", 0x8907, true, true }, // 833
1505
+ { "trcdvcmr5", 0x8927, true, true }, // 834
1506
+ { "trcdvcmr6", 0x8947, true, true }, // 835
1507
+ { "trcdvcmr7", 0x8967, true, true }, // 836
1508
+ { "trcdvcvr0", 0x8904, true, true }, // 837
1509
+ { "trcdvcvr1", 0x8924, true, true }, // 838
1510
+ { "trcdvcvr2", 0x8944, true, true }, // 839
1511
+ { "trcdvcvr3", 0x8964, true, true }, // 840
1512
+ { "trcdvcvr4", 0x8905, true, true }, // 841
1513
+ { "trcdvcvr5", 0x8925, true, true }, // 842
1514
+ { "trcdvcvr6", 0x8945, true, true }, // 843
1515
+ { "trcdvcvr7", 0x8965, true, true }, // 844
1516
+ { "trceventctl0r", 0x8840, true, true }, // 845
1517
+ { "trceventctl1r", 0x8848, true, true }, // 846
1518
+ { "trcextinselr", 0x8844, true, true }, // 847
1519
+ { "trcextinselr0", 0x8844, true, true }, // 848
1520
+ { "trcextinselr1", 0x884C, true, true }, // 849
1521
+ { "trcextinselr2", 0x8854, true, true }, // 850
1522
+ { "trcextinselr3", 0x885C, true, true }, // 851
1523
+ { "trcidr0", 0x8847, true, false }, // 852
1524
+ { "trcidr1", 0x884F, true, false }, // 853
1525
+ { "trcidr10", 0x8816, true, false }, // 854
1526
+ { "trcidr11", 0x881E, true, false }, // 855
1527
+ { "trcidr12", 0x8826, true, false }, // 856
1528
+ { "trcidr13", 0x882E, true, false }, // 857
1529
+ { "trcidr2", 0x8857, true, false }, // 858
1530
+ { "trcidr3", 0x885F, true, false }, // 859
1531
+ { "trcidr4", 0x8867, true, false }, // 860
1532
+ { "trcidr5", 0x886F, true, false }, // 861
1533
+ { "trcidr6", 0x8877, true, false }, // 862
1534
+ { "trcidr7", 0x887F, true, false }, // 863
1535
+ { "trcidr8", 0x8806, true, false }, // 864
1536
+ { "trcidr9", 0x880E, true, false }, // 865
1537
+ { "trcimspec0", 0x8807, true, true }, // 866
1538
+ { "trcimspec1", 0x880F, true, true }, // 867
1539
+ { "trcimspec2", 0x8817, true, true }, // 868
1540
+ { "trcimspec3", 0x881F, true, true }, // 869
1541
+ { "trcimspec4", 0x8827, true, true }, // 870
1542
+ { "trcimspec5", 0x882F, true, true }, // 871
1543
+ { "trcimspec6", 0x8837, true, true }, // 872
1544
+ { "trcimspec7", 0x883F, true, true }, // 873
1545
+ { "trcitctrl", 0x8B84, true, true }, // 874
1546
+ { "trclar", 0x8BE6, false, true }, // 875
1547
+ { "trclsr", 0x8BEE, true, false }, // 876
1548
+ { "trcoslar", 0x8884, false, true }, // 877
1549
+ { "trcoslsr", 0x888C, true, false }, // 878
1550
+ { "trcpdcr", 0x88A4, true, true }, // 879
1551
+ { "trcpdsr", 0x88AC, true, false }, // 880
1552
+ { "trcpidr0", 0x8BC7, true, false }, // 881
1553
+ { "trcpidr1", 0x8BCF, true, false }, // 882
1554
+ { "trcpidr2", 0x8BD7, true, false }, // 883
1555
+ { "trcpidr3", 0x8BDF, true, false }, // 884
1556
+ { "trcpidr4", 0x8BA7, true, false }, // 885
1557
+ { "trcpidr5", 0x8BAF, true, false }, // 886
1558
+ { "trcpidr6", 0x8BB7, true, false }, // 887
1559
+ { "trcpidr7", 0x8BBF, true, false }, // 888
1560
+ { "trcprgctlr", 0x8808, true, true }, // 889
1561
+ { "trcprocselr", 0x8810, true, true }, // 890
1562
+ { "trcqctlr", 0x8809, true, true }, // 891
1563
+ { "trcrsctlr10", 0x88D0, true, true }, // 892
1564
+ { "trcrsctlr11", 0x88D8, true, true }, // 893
1565
+ { "trcrsctlr12", 0x88E0, true, true }, // 894
1566
+ { "trcrsctlr13", 0x88E8, true, true }, // 895
1567
+ { "trcrsctlr14", 0x88F0, true, true }, // 896
1568
+ { "trcrsctlr15", 0x88F8, true, true }, // 897
1569
+ { "trcrsctlr16", 0x8881, true, true }, // 898
1570
+ { "trcrsctlr17", 0x8889, true, true }, // 899
1571
+ { "trcrsctlr18", 0x8891, true, true }, // 900
1572
+ { "trcrsctlr19", 0x8899, true, true }, // 901
1573
+ { "trcrsctlr2", 0x8890, true, true }, // 902
1574
+ { "trcrsctlr20", 0x88A1, true, true }, // 903
1575
+ { "trcrsctlr21", 0x88A9, true, true }, // 904
1576
+ { "trcrsctlr22", 0x88B1, true, true }, // 905
1577
+ { "trcrsctlr23", 0x88B9, true, true }, // 906
1578
+ { "trcrsctlr24", 0x88C1, true, true }, // 907
1579
+ { "trcrsctlr25", 0x88C9, true, true }, // 908
1580
+ { "trcrsctlr26", 0x88D1, true, true }, // 909
1581
+ { "trcrsctlr27", 0x88D9, true, true }, // 910
1582
+ { "trcrsctlr28", 0x88E1, true, true }, // 911
1583
+ { "trcrsctlr29", 0x88E9, true, true }, // 912
1584
+ { "trcrsctlr3", 0x8898, true, true }, // 913
1585
+ { "trcrsctlr30", 0x88F1, true, true }, // 914
1586
+ { "trcrsctlr31", 0x88F9, true, true }, // 915
1587
+ { "trcrsctlr4", 0x88A0, true, true }, // 916
1588
+ { "trcrsctlr5", 0x88A8, true, true }, // 917
1589
+ { "trcrsctlr6", 0x88B0, true, true }, // 918
1590
+ { "trcrsctlr7", 0x88B8, true, true }, // 919
1591
+ { "trcrsctlr8", 0x88C0, true, true }, // 920
1592
+ { "trcrsctlr9", 0x88C8, true, true }, // 921
1593
+ { "trcrsr", 0x8850, true, true }, // 922
1594
+ { "trcseqevr0", 0x8804, true, true }, // 923
1595
+ { "trcseqevr1", 0x880C, true, true }, // 924
1596
+ { "trcseqevr2", 0x8814, true, true }, // 925
1597
+ { "trcseqrstevr", 0x8834, true, true }, // 926
1598
+ { "trcseqstr", 0x883C, true, true }, // 927
1599
+ { "trcssccr0", 0x8882, true, true }, // 928
1600
+ { "trcssccr1", 0x888A, true, true }, // 929
1601
+ { "trcssccr2", 0x8892, true, true }, // 930
1602
+ { "trcssccr3", 0x889A, true, true }, // 931
1603
+ { "trcssccr4", 0x88A2, true, true }, // 932
1604
+ { "trcssccr5", 0x88AA, true, true }, // 933
1605
+ { "trcssccr6", 0x88B2, true, true }, // 934
1606
+ { "trcssccr7", 0x88BA, true, true }, // 935
1607
+ { "trcsscsr0", 0x88C2, true, true }, // 936
1608
+ { "trcsscsr1", 0x88CA, true, true }, // 937
1609
+ { "trcsscsr2", 0x88D2, true, true }, // 938
1610
+ { "trcsscsr3", 0x88DA, true, true }, // 939
1611
+ { "trcsscsr4", 0x88E2, true, true }, // 940
1612
+ { "trcsscsr5", 0x88EA, true, true }, // 941
1613
+ { "trcsscsr6", 0x88F2, true, true }, // 942
1614
+ { "trcsscsr7", 0x88FA, true, true }, // 943
1615
+ { "trcsspcicr0", 0x8883, true, true }, // 944
1616
+ { "trcsspcicr1", 0x888B, true, true }, // 945
1617
+ { "trcsspcicr2", 0x8893, true, true }, // 946
1618
+ { "trcsspcicr3", 0x889B, true, true }, // 947
1619
+ { "trcsspcicr4", 0x88A3, true, true }, // 948
1620
+ { "trcsspcicr5", 0x88AB, true, true }, // 949
1621
+ { "trcsspcicr6", 0x88B3, true, true }, // 950
1622
+ { "trcsspcicr7", 0x88BB, true, true }, // 951
1623
+ { "trcstallctlr", 0x8858, true, true }, // 952
1624
+ { "trcstatr", 0x8818, true, false }, // 953
1625
+ { "trcsyncpr", 0x8868, true, true }, // 954
1626
+ { "trctraceidr", 0x8801, true, true }, // 955
1627
+ { "trctsctlr", 0x8860, true, true }, // 956
1628
+ { "trcvdarcctlr", 0x8852, true, true }, // 957
1629
+ { "trcvdctlr", 0x8842, true, true }, // 958
1630
+ { "trcvdsacctlr", 0x884A, true, true }, // 959
1631
+ { "trcvictlr", 0x8802, true, true }, // 960
1632
+ { "trcviiectlr", 0x880A, true, true }, // 961
1633
+ { "trcvipcssctlr", 0x881A, true, true }, // 962
1634
+ { "trcvissctlr", 0x8812, true, true }, // 963
1635
+ { "trcvmidcctlr0", 0x8992, true, true }, // 964
1636
+ { "trcvmidcctlr1", 0x899A, true, true }, // 965
1637
+ { "trcvmidcvr0", 0x8981, true, true }, // 966
1638
+ { "trcvmidcvr1", 0x8991, true, true }, // 967
1639
+ { "trcvmidcvr2", 0x89A1, true, true }, // 968
1640
+ { "trcvmidcvr3", 0x89B1, true, true }, // 969
1641
+ { "trcvmidcvr4", 0x89C1, true, true }, // 970
1642
+ { "trcvmidcvr5", 0x89D1, true, true }, // 971
1643
+ { "trcvmidcvr6", 0x89E1, true, true }, // 972
1644
+ { "trcvmidcvr7", 0x89F1, true, true }, // 973
1645
+ { "trfcr_el1", 0xC091, true, true }, // 974
1646
+ { "trfcr_el12", 0xE891, true, true }, // 975
1647
+ { "trfcr_el2", 0xE091, true, true }, // 976
1648
+ { "ttbr0_el1", 0xC100, true, true }, // 977
1649
+ { "ttbr0_el12", 0xE900, true, true }, // 978
1650
+ { "ttbr0_el2", 0xE100, true, true }, // 979
1651
+ { "ttbr0_el3", 0xF100, true, true }, // 980
1652
+ { "ttbr1_el1", 0xC101, true, true }, // 981
1653
+ { "ttbr1_el12", 0xE901, true, true }, // 982
1654
+ { "ttbr1_el2", 0xE101, true, true }, // 983
1655
+ { "uao", 0xC214, true, true }, // 984
1656
+ { "vbar_el1", 0xC600, true, true }, // 985
1657
+ { "vbar_el12", 0xEE00, true, true }, // 986
1658
+ { "vbar_el2", 0xE600, true, true }, // 987
1659
+ { "vbar_el3", 0xF600, true, true }, // 988
1660
+ { "vdisr_el2", 0xE609, true, true }, // 989
1661
+ { "vmpidr_el2", 0xE005, true, true }, // 990
1662
+ { "vncr_el2", 0xE110, true, true }, // 991
1663
+ { "vpidr_el2", 0xE000, true, true }, // 992
1664
+ { "vsctlr_el2", 0xE100, true, true }, // 993
1665
+ { "vsesr_el2", 0xE293, true, true }, // 994
1666
+ { "vstcr_el2", 0xE132, true, true }, // 995
1667
+ { "vsttbr_el2", 0xE130, true, true }, // 996
1668
+ { "vtcr_el2", 0xE10A, true, true }, // 997
1669
+ { "vttbr_el2", 0xE108, true, true }, // 998
1670
+ { "zcr_el1", 0xC090, true, true }, // 999
1671
+ { "zcr_el12", 0xE890, true, true }, // 1000
1672
+ { "zcr_el2", 0xE090, true, true }, // 1001
1673
+ { "zcr_el3", 0xF090, true, true }, // 1002
1674
+ };
1675
+
1676
+ const SysReg *lookupSysRegByEncoding(uint16_t Encoding)
1677
+ {
1678
+ unsigned int i;
1679
+ static const struct IndexType Index[] = {
1680
+ { 0x8002, 523 },
1681
+ { 0x8004, 285 },
1682
+ { 0x8005, 269 },
1683
+ { 0x8006, 324 },
1684
+ { 0x8007, 308 },
1685
+ { 0x800C, 292 },
1686
+ { 0x800D, 276 },
1687
+ { 0x800E, 331 },
1688
+ { 0x800F, 315 },
1689
+ { 0x8010, 490 },
1690
+ { 0x8012, 495 },
1691
+ { 0x8014, 293 },
1692
+ { 0x8015, 277 },
1693
+ { 0x8016, 332 },
1694
+ { 0x8017, 316 },
1695
+ { 0x801A, 524 },
1696
+ { 0x801C, 294 },
1697
+ { 0x801D, 278 },
1698
+ { 0x801E, 333 },
1699
+ { 0x801F, 317 },
1700
+ { 0x8024, 295 },
1701
+ { 0x8025, 279 },
1702
+ { 0x8026, 334 },
1703
+ { 0x8027, 318 },
1704
+ { 0x802C, 296 },
1705
+ { 0x802D, 280 },
1706
+ { 0x802E, 335 },
1707
+ { 0x802F, 319 },
1708
+ { 0x8032, 525 },
1709
+ { 0x8034, 297 },
1710
+ { 0x8035, 281 },
1711
+ { 0x8036, 336 },
1712
+ { 0x8037, 320 },
1713
+ { 0x803C, 298 },
1714
+ { 0x803D, 282 },
1715
+ { 0x803E, 337 },
1716
+ { 0x803F, 321 },
1717
+ { 0x8044, 299 },
1718
+ { 0x8045, 283 },
1719
+ { 0x8046, 338 },
1720
+ { 0x8047, 322 },
1721
+ { 0x804C, 300 },
1722
+ { 0x804D, 284 },
1723
+ { 0x804E, 339 },
1724
+ { 0x804F, 323 },
1725
+ { 0x8054, 286 },
1726
+ { 0x8055, 270 },
1727
+ { 0x8056, 325 },
1728
+ { 0x8057, 309 },
1729
+ { 0x805C, 287 },
1730
+ { 0x805D, 271 },
1731
+ { 0x805E, 326 },
1732
+ { 0x805F, 310 },
1733
+ { 0x8064, 288 },
1734
+ { 0x8065, 272 },
1735
+ { 0x8066, 327 },
1736
+ { 0x8067, 311 },
1737
+ { 0x806C, 289 },
1738
+ { 0x806D, 273 },
1739
+ { 0x806E, 328 },
1740
+ { 0x806F, 312 },
1741
+ { 0x8074, 290 },
1742
+ { 0x8075, 274 },
1743
+ { 0x8076, 329 },
1744
+ { 0x8077, 313 },
1745
+ { 0x807C, 291 },
1746
+ { 0x807D, 275 },
1747
+ { 0x807E, 330 },
1748
+ { 0x807F, 314 },
1749
+ { 0x8080, 494 },
1750
+ { 0x8084, 526 },
1751
+ { 0x808C, 527 },
1752
+ { 0x809C, 522 },
1753
+ { 0x80A4, 306 },
1754
+ { 0x83C6, 302 },
1755
+ { 0x83CE, 301 },
1756
+ { 0x83F6, 268 },
1757
+ { 0x8801, 955 },
1758
+ { 0x8802, 960 },
1759
+ { 0x8804, 923 },
1760
+ { 0x8805, 815 },
1761
+ { 0x8806, 864 },
1762
+ { 0x8807, 866 },
1763
+ { 0x8808, 889 },
1764
+ { 0x8809, 891 },
1765
+ { 0x880A, 961 },
1766
+ { 0x880C, 924 },
1767
+ { 0x880D, 816 },
1768
+ { 0x880E, 865 },
1769
+ { 0x880F, 867 },
1770
+ { 0x8810, 890 },
1771
+ { 0x8812, 963 },
1772
+ { 0x8814, 925 },
1773
+ { 0x8815, 817 },
1774
+ { 0x8816, 854 },
1775
+ { 0x8817, 868 },
1776
+ { 0x8818, 953 },
1777
+ { 0x881A, 962 },
1778
+ { 0x881D, 818 },
1779
+ { 0x881E, 855 },
1780
+ { 0x881F, 869 },
1781
+ { 0x8820, 823 },
1782
+ { 0x8825, 811 },
1783
+ { 0x8826, 856 },
1784
+ { 0x8827, 870 },
1785
+ { 0x882D, 812 },
1786
+ { 0x882E, 857 },
1787
+ { 0x882F, 871 },
1788
+ { 0x8830, 792 },
1789
+ { 0x8834, 926 },
1790
+ { 0x8835, 813 },
1791
+ { 0x8837, 872 },
1792
+ { 0x883C, 927 },
1793
+ { 0x883D, 814 },
1794
+ { 0x883F, 873 },
1795
+ { 0x8840, 845 },
1796
+ { 0x8842, 958 },
1797
+ { 0x8844, 847 },
1798
+ { 0x8844, 848 },
1799
+ { 0x8845, 819 },
1800
+ { 0x8847, 852 },
1801
+ { 0x8848, 846 },
1802
+ { 0x884A, 959 },
1803
+ { 0x884C, 849 },
1804
+ { 0x884D, 820 },
1805
+ { 0x884F, 853 },
1806
+ { 0x8850, 922 },
1807
+ { 0x8852, 957 },
1808
+ { 0x8854, 850 },
1809
+ { 0x8855, 821 },
1810
+ { 0x8857, 858 },
1811
+ { 0x8858, 952 },
1812
+ { 0x885C, 851 },
1813
+ { 0x885D, 822 },
1814
+ { 0x885F, 859 },
1815
+ { 0x8860, 956 },
1816
+ { 0x8867, 860 },
1817
+ { 0x8868, 954 },
1818
+ { 0x886F, 861 },
1819
+ { 0x8870, 794 },
1820
+ { 0x8877, 862 },
1821
+ { 0x8878, 793 },
1822
+ { 0x887F, 863 },
1823
+ { 0x8881, 898 },
1824
+ { 0x8882, 928 },
1825
+ { 0x8883, 944 },
1826
+ { 0x8884, 877 },
1827
+ { 0x8889, 899 },
1828
+ { 0x888A, 929 },
1829
+ { 0x888B, 945 },
1830
+ { 0x888C, 878 },
1831
+ { 0x8890, 902 },
1832
+ { 0x8891, 900 },
1833
+ { 0x8892, 930 },
1834
+ { 0x8893, 946 },
1835
+ { 0x8898, 913 },
1836
+ { 0x8899, 901 },
1837
+ { 0x889A, 931 },
1838
+ { 0x889B, 947 },
1839
+ { 0x88A0, 916 },
1840
+ { 0x88A1, 903 },
1841
+ { 0x88A2, 932 },
1842
+ { 0x88A3, 948 },
1843
+ { 0x88A4, 879 },
1844
+ { 0x88A8, 917 },
1845
+ { 0x88A9, 904 },
1846
+ { 0x88AA, 933 },
1847
+ { 0x88AB, 949 },
1848
+ { 0x88AC, 880 },
1849
+ { 0x88B0, 918 },
1850
+ { 0x88B1, 905 },
1851
+ { 0x88B2, 934 },
1852
+ { 0x88B3, 950 },
1853
+ { 0x88B8, 919 },
1854
+ { 0x88B9, 906 },
1855
+ { 0x88BA, 935 },
1856
+ { 0x88BB, 951 },
1857
+ { 0x88C0, 920 },
1858
+ { 0x88C1, 907 },
1859
+ { 0x88C2, 936 },
1860
+ { 0x88C8, 921 },
1861
+ { 0x88C9, 908 },
1862
+ { 0x88CA, 937 },
1863
+ { 0x88D0, 892 },
1864
+ { 0x88D1, 909 },
1865
+ { 0x88D2, 938 },
1866
+ { 0x88D8, 893 },
1867
+ { 0x88D9, 910 },
1868
+ { 0x88DA, 939 },
1869
+ { 0x88E0, 894 },
1870
+ { 0x88E1, 911 },
1871
+ { 0x88E2, 940 },
1872
+ { 0x88E8, 895 },
1873
+ { 0x88E9, 912 },
1874
+ { 0x88EA, 941 },
1875
+ { 0x88F0, 896 },
1876
+ { 0x88F1, 914 },
1877
+ { 0x88F2, 942 },
1878
+ { 0x88F8, 897 },
1879
+ { 0x88F9, 915 },
1880
+ { 0x88FA, 943 },
1881
+ { 0x8900, 775 },
1882
+ { 0x8901, 789 },
1883
+ { 0x8902, 759 },
1884
+ { 0x8903, 773 },
1885
+ { 0x8904, 837 },
1886
+ { 0x8905, 841 },
1887
+ { 0x8906, 829 },
1888
+ { 0x8907, 833 },
1889
+ { 0x8910, 776 },
1890
+ { 0x8911, 790 },
1891
+ { 0x8912, 760 },
1892
+ { 0x8913, 774 },
1893
+ { 0x8920, 783 },
1894
+ { 0x8921, 777 },
1895
+ { 0x8922, 767 },
1896
+ { 0x8923, 761 },
1897
+ { 0x8924, 838 },
1898
+ { 0x8925, 842 },
1899
+ { 0x8926, 830 },
1900
+ { 0x8927, 834 },
1901
+ { 0x8930, 784 },
1902
+ { 0x8931, 778 },
1903
+ { 0x8932, 768 },
1904
+ { 0x8933, 762 },
1905
+ { 0x8940, 785 },
1906
+ { 0x8941, 779 },
1907
+ { 0x8942, 769 },
1908
+ { 0x8943, 763 },
1909
+ { 0x8944, 839 },
1910
+ { 0x8945, 843 },
1911
+ { 0x8946, 831 },
1912
+ { 0x8947, 835 },
1913
+ { 0x8950, 786 },
1914
+ { 0x8951, 780 },
1915
+ { 0x8952, 770 },
1916
+ { 0x8953, 764 },
1917
+ { 0x8960, 787 },
1918
+ { 0x8961, 781 },
1919
+ { 0x8962, 771 },
1920
+ { 0x8963, 765 },
1921
+ { 0x8964, 840 },
1922
+ { 0x8965, 844 },
1923
+ { 0x8966, 832 },
1924
+ { 0x8967, 836 },
1925
+ { 0x8970, 788 },
1926
+ { 0x8971, 782 },
1927
+ { 0x8972, 772 },
1928
+ { 0x8973, 766 },
1929
+ { 0x8980, 797 },
1930
+ { 0x8981, 966 },
1931
+ { 0x8982, 795 },
1932
+ { 0x898A, 796 },
1933
+ { 0x8990, 798 },
1934
+ { 0x8991, 967 },
1935
+ { 0x8992, 964 },
1936
+ { 0x899A, 965 },
1937
+ { 0x89A0, 799 },
1938
+ { 0x89A1, 968 },
1939
+ { 0x89B0, 800 },
1940
+ { 0x89B1, 969 },
1941
+ { 0x89C0, 801 },
1942
+ { 0x89C1, 970 },
1943
+ { 0x89D0, 802 },
1944
+ { 0x89D1, 971 },
1945
+ { 0x89E0, 803 },
1946
+ { 0x89E1, 972 },
1947
+ { 0x89F0, 804 },
1948
+ { 0x89F1, 973 },
1949
+ { 0x8B84, 874 },
1950
+ { 0x8B97, 827 },
1951
+ { 0x8B9F, 828 },
1952
+ { 0x8BA7, 885 },
1953
+ { 0x8BAF, 886 },
1954
+ { 0x8BB7, 887 },
1955
+ { 0x8BBF, 888 },
1956
+ { 0x8BC6, 810 },
1957
+ { 0x8BC7, 881 },
1958
+ { 0x8BCE, 809 },
1959
+ { 0x8BCF, 882 },
1960
+ { 0x8BD6, 824 },
1961
+ { 0x8BD7, 883 },
1962
+ { 0x8BDE, 825 },
1963
+ { 0x8BDF, 884 },
1964
+ { 0x8BE6, 875 },
1965
+ { 0x8BE7, 805 },
1966
+ { 0x8BEE, 876 },
1967
+ { 0x8BEF, 806 },
1968
+ { 0x8BF6, 791 },
1969
+ { 0x8BF7, 807 },
1970
+ { 0x8BFE, 826 },
1971
+ { 0x8BFF, 808 },
1972
+ { 0x8C00, 112 },
1973
+ { 0x8C01, 145 },
1974
+ { 0x8C02, 178 },
1975
+ { 0x8C04, 119 },
1976
+ { 0x8C05, 152 },
1977
+ { 0x8C06, 185 },
1978
+ { 0x8C08, 123 },
1979
+ { 0x8C09, 156 },
1980
+ { 0x8C0A, 189 },
1981
+ { 0x8C0C, 120 },
1982
+ { 0x8C0D, 153 },
1983
+ { 0x8C0E, 186 },
1984
+ { 0x8C10, 134 },
1985
+ { 0x8C11, 167 },
1986
+ { 0x8C12, 200 },
1987
+ { 0x8C14, 121 },
1988
+ { 0x8C15, 154 },
1989
+ { 0x8C16, 187 },
1990
+ { 0x8C18, 137 },
1991
+ { 0x8C19, 170 },
1992
+ { 0x8C1A, 203 },
1993
+ { 0x8C1C, 122 },
1994
+ { 0x8C1D, 155 },
1995
+ { 0x8C1E, 188 },
1996
+ { 0x8C20, 138 },
1997
+ { 0x8C21, 171 },
1998
+ { 0x8C22, 204 },
1999
+ { 0x8C24, 124 },
2000
+ { 0x8C25, 157 },
2001
+ { 0x8C26, 190 },
2002
+ { 0x8C28, 139 },
2003
+ { 0x8C29, 172 },
2004
+ { 0x8C2A, 205 },
2005
+ { 0x8C2C, 125 },
2006
+ { 0x8C2D, 158 },
2007
+ { 0x8C2E, 191 },
2008
+ { 0x8C30, 140 },
2009
+ { 0x8C31, 173 },
2010
+ { 0x8C32, 206 },
2011
+ { 0x8C34, 126 },
2012
+ { 0x8C35, 159 },
2013
+ { 0x8C36, 192 },
2014
+ { 0x8C38, 141 },
2015
+ { 0x8C39, 174 },
2016
+ { 0x8C3A, 207 },
2017
+ { 0x8C3C, 127 },
2018
+ { 0x8C3D, 160 },
2019
+ { 0x8C3E, 193 },
2020
+ { 0x8C40, 142 },
2021
+ { 0x8C41, 175 },
2022
+ { 0x8C42, 208 },
2023
+ { 0x8C44, 128 },
2024
+ { 0x8C45, 161 },
2025
+ { 0x8C46, 194 },
2026
+ { 0x8C48, 143 },
2027
+ { 0x8C49, 176 },
2028
+ { 0x8C4A, 209 },
2029
+ { 0x8C4C, 129 },
2030
+ { 0x8C4D, 162 },
2031
+ { 0x8C4E, 195 },
2032
+ { 0x8C50, 113 },
2033
+ { 0x8C51, 146 },
2034
+ { 0x8C52, 179 },
2035
+ { 0x8C54, 130 },
2036
+ { 0x8C55, 163 },
2037
+ { 0x8C56, 196 },
2038
+ { 0x8C58, 114 },
2039
+ { 0x8C59, 147 },
2040
+ { 0x8C5A, 180 },
2041
+ { 0x8C5C, 131 },
2042
+ { 0x8C5D, 164 },
2043
+ { 0x8C5E, 197 },
2044
+ { 0x8C60, 115 },
2045
+ { 0x8C61, 148 },
2046
+ { 0x8C62, 181 },
2047
+ { 0x8C64, 132 },
2048
+ { 0x8C65, 165 },
2049
+ { 0x8C66, 198 },
2050
+ { 0x8C68, 116 },
2051
+ { 0x8C69, 149 },
2052
+ { 0x8C6A, 182 },
2053
+ { 0x8C6C, 133 },
2054
+ { 0x8C6D, 166 },
2055
+ { 0x8C6E, 199 },
2056
+ { 0x8C70, 117 },
2057
+ { 0x8C71, 150 },
2058
+ { 0x8C72, 183 },
2059
+ { 0x8C74, 135 },
2060
+ { 0x8C75, 168 },
2061
+ { 0x8C76, 201 },
2062
+ { 0x8C78, 118 },
2063
+ { 0x8C79, 151 },
2064
+ { 0x8C7A, 184 },
2065
+ { 0x8C7C, 136 },
2066
+ { 0x8C7D, 169 },
2067
+ { 0x8C7E, 202 },
2068
+ { 0x8C80, 107 },
2069
+ { 0x8C81, 110 },
2070
+ { 0x8C82, 211 },
2071
+ { 0x8C88, 144 },
2072
+ { 0x8C89, 177 },
2073
+ { 0x8C8A, 210 },
2074
+ { 0x8C90, 111 },
2075
+ { 0x9000, 739 },
2076
+ { 0x9080, 740 },
2077
+ { 0x9808, 491 },
2078
+ { 0x9820, 305 },
2079
+ { 0x9828, 303 },
2080
+ { 0x9828, 304 },
2081
+ { 0xA038, 307 },
2082
+ { 0xA480, 109 },
2083
+ { 0xAC80, 108 },
2084
+ { 0xC000, 497 },
2085
+ { 0xC004, 516 },
2086
+ { 0xC005, 515 },
2087
+ { 0xC006, 691 },
2088
+ { 0xC008, 476 },
2089
+ { 0xC009, 477 },
2090
+ { 0xC00A, 462 },
2091
+ { 0xC00B, 461 },
2092
+ { 0xC00C, 470 },
2093
+ { 0xC00D, 471 },
2094
+ { 0xC00E, 472 },
2095
+ { 0xC00F, 473 },
2096
+ { 0xC010, 463 },
2097
+ { 0xC011, 464 },
2098
+ { 0xC012, 465 },
2099
+ { 0xC013, 466 },
2100
+ { 0xC014, 467 },
2101
+ { 0xC015, 468 },
2102
+ { 0xC016, 474 },
2103
+ { 0xC017, 469 },
2104
+ { 0xC018, 518 },
2105
+ { 0xC019, 519 },
2106
+ { 0xC01A, 520 },
2107
+ { 0xC01C, 478 },
2108
+ { 0xC01E, 475 },
2109
+ { 0xC020, 457 },
2110
+ { 0xC021, 458 },
2111
+ { 0xC024, 460 },
2112
+ { 0xC025, 459 },
2113
+ { 0xC028, 449 },
2114
+ { 0xC029, 450 },
2115
+ { 0xC02C, 447 },
2116
+ { 0xC02D, 448 },
2117
+ { 0xC030, 451 },
2118
+ { 0xC031, 452 },
2119
+ { 0xC032, 453 },
2120
+ { 0xC038, 454 },
2121
+ { 0xC039, 455 },
2122
+ { 0xC03A, 456 },
2123
+ { 0xC080, 702 },
2124
+ { 0xC081, 1 },
2125
+ { 0xC082, 258 },
2126
+ { 0xC085, 692 },
2127
+ { 0xC086, 373 },
2128
+ { 0xC090, 999 },
2129
+ { 0xC091, 974 },
2130
+ { 0xC094, 719 },
2131
+ { 0xC096, 713 },
2132
+ { 0xC100, 977 },
2133
+ { 0xC101, 981 },
2134
+ { 0xC102, 735 },
2135
+ { 0xC108, 104 },
2136
+ { 0xC109, 103 },
2137
+ { 0xC10A, 106 },
2138
+ { 0xC10B, 105 },
2139
+ { 0xC110, 98 },
2140
+ { 0xC111, 97 },
2141
+ { 0xC112, 100 },
2142
+ { 0xC113, 99 },
2143
+ { 0xC118, 102 },
2144
+ { 0xC119, 101 },
2145
+ { 0xC200, 722 },
2146
+ { 0xC201, 345 },
2147
+ { 0xC208, 729 },
2148
+ { 0xC210, 720 },
2149
+ { 0xC212, 265 },
2150
+ { 0xC213, 528 },
2151
+ { 0xC214, 984 },
2152
+ { 0xC230, 410 },
2153
+ { 0xC288, 4 },
2154
+ { 0xC289, 8 },
2155
+ { 0xC290, 362 },
2156
+ { 0xC298, 349 },
2157
+ { 0xC299, 350 },
2158
+ { 0xC2A0, 353 },
2159
+ { 0xC2A1, 352 },
2160
+ { 0xC2A2, 361 },
2161
+ { 0xC2A3, 351 },
2162
+ { 0xC2A4, 360 },
2163
+ { 0xC2A5, 359 },
2164
+ { 0xC2A6, 358 },
2165
+ { 0xC2A8, 354 },
2166
+ { 0xC2A9, 355 },
2167
+ { 0xC2AA, 356 },
2168
+ { 0xC2AB, 357 },
2169
+ { 0xC2B0, 742 },
2170
+ { 0xC2B1, 741 },
2171
+ { 0xC300, 366 },
2172
+ { 0xC309, 655 },
2173
+ { 0xC311, 689 },
2174
+ { 0xC340, 653 },
2175
+ { 0xC341, 687 },
2176
+ { 0xC344, 635 },
2177
+ { 0xC345, 669 },
2178
+ { 0xC348, 637 },
2179
+ { 0xC349, 671 },
2180
+ { 0xC34C, 639 },
2181
+ { 0xC34D, 673 },
2182
+ { 0xC350, 641 },
2183
+ { 0xC351, 675 },
2184
+ { 0xC354, 643 },
2185
+ { 0xC355, 677 },
2186
+ { 0xC358, 645 },
2187
+ { 0xC359, 679 },
2188
+ { 0xC35C, 647 },
2189
+ { 0xC35D, 681 },
2190
+ { 0xC360, 649 },
2191
+ { 0xC361, 683 },
2192
+ { 0xC364, 651 },
2193
+ { 0xC365, 685 },
2194
+ { 0xC368, 623 },
2195
+ { 0xC369, 657 },
2196
+ { 0xC36C, 625 },
2197
+ { 0xC36D, 659 },
2198
+ { 0xC370, 627 },
2199
+ { 0xC371, 661 },
2200
+ { 0xC374, 629 },
2201
+ { 0xC375, 663 },
2202
+ { 0xC378, 631 },
2203
+ { 0xC379, 665 },
2204
+ { 0xC37C, 633 },
2205
+ { 0xC37D, 667 },
2206
+ { 0xC3A0, 529 },
2207
+ { 0xC4C8, 608 },
2208
+ { 0xC4C9, 618 },
2209
+ { 0xC4CA, 614 },
2210
+ { 0xC4CB, 616 },
2211
+ { 0xC4CC, 613 },
2212
+ { 0xC4CD, 612 },
2213
+ { 0xC4CE, 617 },
2214
+ { 0xC4CF, 615 },
2215
+ { 0xC4D0, 531 },
2216
+ { 0xC4D1, 532 },
2217
+ { 0xC4D3, 533 },
2218
+ { 0xC4D7, 530 },
2219
+ { 0xC4D8, 754 },
2220
+ { 0xC4D9, 756 },
2221
+ { 0xC4DA, 752 },
2222
+ { 0xC4DB, 757 },
2223
+ { 0xC4DC, 755 },
2224
+ { 0xC4DE, 758 },
2225
+ { 0xC4DF, 753 },
2226
+ { 0xC4F1, 604 },
2227
+ { 0xC4F2, 603 },
2228
+ { 0xC4F6, 605 },
2229
+ { 0xC510, 486 },
2230
+ { 0xC518, 13 },
2231
+ { 0xC520, 485 },
2232
+ { 0xC521, 482 },
2233
+ { 0xC522, 484 },
2234
+ { 0xC523, 481 },
2235
+ { 0xC524, 504 },
2236
+ { 0xC527, 483 },
2237
+ { 0xC528, 499 },
2238
+ { 0xC529, 498 },
2239
+ { 0xC52B, 505 },
2240
+ { 0xC600, 985 },
2241
+ { 0xC601, 698 },
2242
+ { 0xC602, 693 },
2243
+ { 0xC608, 480 },
2244
+ { 0xC609, 341 },
2245
+ { 0xC640, 405 },
2246
+ { 0xC641, 401 },
2247
+ { 0xC642, 403 },
2248
+ { 0xC643, 396 },
2249
+ { 0xC644, 387 },
2250
+ { 0xC645, 388 },
2251
+ { 0xC646, 389 },
2252
+ { 0xC647, 390 },
2253
+ { 0xC648, 391 },
2254
+ { 0xC649, 392 },
2255
+ { 0xC64A, 393 },
2256
+ { 0xC64B, 394 },
2257
+ { 0xC659, 400 },
2258
+ { 0xC65B, 411 },
2259
+ { 0xC65D, 413 },
2260
+ { 0xC65E, 395 },
2261
+ { 0xC65F, 412 },
2262
+ { 0xC660, 406 },
2263
+ { 0xC661, 402 },
2264
+ { 0xC662, 404 },
2265
+ { 0xC663, 397 },
2266
+ { 0xC664, 398 },
2267
+ { 0xC665, 414 },
2268
+ { 0xC666, 407 },
2269
+ { 0xC667, 408 },
2270
+ { 0xC681, 255 },
2271
+ { 0xC684, 749 },
2272
+ { 0xC685, 0 },
2273
+ { 0xC687, 707 },
2274
+ { 0xC708, 230 },
2275
+ { 0xC800, 213 },
2276
+ { 0xC801, 214 },
2277
+ { 0xC802, 212 },
2278
+ { 0xC804, 374 },
2279
+ { 0xC806, 717 },
2280
+ { 0xC807, 12 },
2281
+ { 0xD000, 263 },
2282
+ { 0xD801, 264 },
2283
+ { 0xD807, 340 },
2284
+ { 0xD920, 696 },
2285
+ { 0xD921, 697 },
2286
+ { 0xDA10, 521 },
2287
+ { 0xDA11, 267 },
2288
+ { 0xDA12, 733 },
2289
+ { 0xDA15, 342 },
2290
+ { 0xDA16, 732 },
2291
+ { 0xDA17, 734 },
2292
+ { 0xDA20, 370 },
2293
+ { 0xDA21, 372 },
2294
+ { 0xDA28, 344 },
2295
+ { 0xDA29, 343 },
2296
+ { 0xDCE0, 540 },
2297
+ { 0xDCE1, 539 },
2298
+ { 0xDCE2, 538 },
2299
+ { 0xDCE3, 606 },
2300
+ { 0xDCE4, 619 },
2301
+ { 0xDCE5, 611 },
2302
+ { 0xDCE6, 536 },
2303
+ { 0xDCE7, 537 },
2304
+ { 0xDCE8, 535 },
2305
+ { 0xDCE9, 622 },
2306
+ { 0xDCEA, 621 },
2307
+ { 0xDCF0, 620 },
2308
+ { 0xDCF3, 607 },
2309
+ { 0xDE82, 748 },
2310
+ { 0xDE83, 747 },
2311
+ { 0xDE85, 746 },
2312
+ { 0xDE87, 706 },
2313
+ { 0xDE90, 23 },
2314
+ { 0xDE91, 17 },
2315
+ { 0xDE92, 18 },
2316
+ { 0xDE93, 96 },
2317
+ { 0xDE94, 19 },
2318
+ { 0xDE95, 21 },
2319
+ { 0xDE98, 20 },
2320
+ { 0xDE99, 22 },
2321
+ { 0xDEA0, 24 },
2322
+ { 0xDEA1, 25 },
2323
+ { 0xDEA2, 26 },
2324
+ { 0xDEA3, 27 },
2325
+ { 0xDEB0, 76 },
2326
+ { 0xDEB1, 77 },
2327
+ { 0xDEB2, 78 },
2328
+ { 0xDEB3, 79 },
2329
+ { 0xDEE0, 28 },
2330
+ { 0xDEE1, 35 },
2331
+ { 0xDEE2, 36 },
2332
+ { 0xDEE3, 37 },
2333
+ { 0xDEE4, 38 },
2334
+ { 0xDEE5, 39 },
2335
+ { 0xDEE6, 40 },
2336
+ { 0xDEE7, 41 },
2337
+ { 0xDEE8, 42 },
2338
+ { 0xDEE9, 43 },
2339
+ { 0xDEEA, 29 },
2340
+ { 0xDEEB, 30 },
2341
+ { 0xDEEC, 31 },
2342
+ { 0xDEED, 32 },
2343
+ { 0xDEEE, 33 },
2344
+ { 0xDEEF, 34 },
2345
+ { 0xDEF0, 80 },
2346
+ { 0xDEF1, 87 },
2347
+ { 0xDEF2, 88 },
2348
+ { 0xDEF3, 89 },
2349
+ { 0xDEF4, 90 },
2350
+ { 0xDEF5, 91 },
2351
+ { 0xDEF6, 92 },
2352
+ { 0xDEF7, 93 },
2353
+ { 0xDEF8, 94 },
2354
+ { 0xDEF9, 95 },
2355
+ { 0xDEFA, 81 },
2356
+ { 0xDEFB, 82 },
2357
+ { 0xDEFC, 83 },
2358
+ { 0xDEFD, 84 },
2359
+ { 0xDEFE, 85 },
2360
+ { 0xDEFF, 86 },
2361
+ { 0xDF00, 215 },
2362
+ { 0xDF01, 233 },
2363
+ { 0xDF02, 246 },
2364
+ { 0xDF05, 232 },
2365
+ { 0xDF06, 245 },
2366
+ { 0xDF10, 242 },
2367
+ { 0xDF11, 238 },
2368
+ { 0xDF12, 240 },
2369
+ { 0xDF18, 253 },
2370
+ { 0xDF19, 249 },
2371
+ { 0xDF1A, 251 },
2372
+ { 0xDF40, 541 },
2373
+ { 0xDF41, 552 },
2374
+ { 0xDF42, 563 },
2375
+ { 0xDF43, 565 },
2376
+ { 0xDF44, 566 },
2377
+ { 0xDF45, 567 },
2378
+ { 0xDF46, 568 },
2379
+ { 0xDF47, 569 },
2380
+ { 0xDF48, 570 },
2381
+ { 0xDF49, 571 },
2382
+ { 0xDF4A, 542 },
2383
+ { 0xDF4B, 543 },
2384
+ { 0xDF4C, 544 },
2385
+ { 0xDF4D, 545 },
2386
+ { 0xDF4E, 546 },
2387
+ { 0xDF4F, 547 },
2388
+ { 0xDF50, 548 },
2389
+ { 0xDF51, 549 },
2390
+ { 0xDF52, 550 },
2391
+ { 0xDF53, 551 },
2392
+ { 0xDF54, 553 },
2393
+ { 0xDF55, 554 },
2394
+ { 0xDF56, 555 },
2395
+ { 0xDF57, 556 },
2396
+ { 0xDF58, 557 },
2397
+ { 0xDF59, 558 },
2398
+ { 0xDF5A, 559 },
2399
+ { 0xDF5B, 560 },
2400
+ { 0xDF5C, 561 },
2401
+ { 0xDF5D, 562 },
2402
+ { 0xDF5E, 564 },
2403
+ { 0xDF60, 572 },
2404
+ { 0xDF61, 583 },
2405
+ { 0xDF62, 594 },
2406
+ { 0xDF63, 596 },
2407
+ { 0xDF64, 597 },
2408
+ { 0xDF65, 598 },
2409
+ { 0xDF66, 599 },
2410
+ { 0xDF67, 600 },
2411
+ { 0xDF68, 601 },
2412
+ { 0xDF69, 602 },
2413
+ { 0xDF6A, 573 },
2414
+ { 0xDF6B, 574 },
2415
+ { 0xDF6C, 575 },
2416
+ { 0xDF6D, 576 },
2417
+ { 0xDF6E, 577 },
2418
+ { 0xDF6F, 578 },
2419
+ { 0xDF70, 579 },
2420
+ { 0xDF71, 580 },
2421
+ { 0xDF72, 581 },
2422
+ { 0xDF73, 582 },
2423
+ { 0xDF74, 584 },
2424
+ { 0xDF75, 585 },
2425
+ { 0xDF76, 586 },
2426
+ { 0xDF77, 587 },
2427
+ { 0xDF78, 588 },
2428
+ { 0xDF79, 589 },
2429
+ { 0xDF7A, 590 },
2430
+ { 0xDF7B, 591 },
2431
+ { 0xDF7C, 592 },
2432
+ { 0xDF7D, 593 },
2433
+ { 0xDF7E, 595 },
2434
+ { 0xDF7F, 534 },
2435
+ { 0xE000, 992 },
2436
+ { 0xE004, 517 },
2437
+ { 0xE005, 990 },
2438
+ { 0xE080, 704 },
2439
+ { 0xE081, 2 },
2440
+ { 0xE088, 379 },
2441
+ { 0xE089, 492 },
2442
+ { 0xE08A, 261 },
2443
+ { 0xE08B, 386 },
2444
+ { 0xE08C, 383 },
2445
+ { 0xE08D, 384 },
2446
+ { 0xE08E, 382 },
2447
+ { 0xE08F, 377 },
2448
+ { 0xE090, 1001 },
2449
+ { 0xE091, 976 },
2450
+ { 0xE092, 378 },
2451
+ { 0xE095, 718 },
2452
+ { 0xE096, 715 },
2453
+ { 0xE099, 711 },
2454
+ { 0xE100, 979 },
2455
+ { 0xE100, 993 },
2456
+ { 0xE101, 983 },
2457
+ { 0xE102, 737 },
2458
+ { 0xE108, 998 },
2459
+ { 0xE10A, 997 },
2460
+ { 0xE110, 991 },
2461
+ { 0xE130, 996 },
2462
+ { 0xE132, 995 },
2463
+ { 0xE180, 266 },
2464
+ { 0xE18C, 380 },
2465
+ { 0xE18D, 381 },
2466
+ { 0xE200, 724 },
2467
+ { 0xE201, 347 },
2468
+ { 0xE208, 730 },
2469
+ { 0xE218, 727 },
2470
+ { 0xE219, 721 },
2471
+ { 0xE21A, 728 },
2472
+ { 0xE21B, 726 },
2473
+ { 0xE281, 479 },
2474
+ { 0xE288, 6 },
2475
+ { 0xE289, 10 },
2476
+ { 0xE290, 364 },
2477
+ { 0xE293, 994 },
2478
+ { 0xE298, 371 },
2479
+ { 0xE2B0, 744 },
2480
+ { 0xE300, 368 },
2481
+ { 0xE304, 385 },
2482
+ { 0xE309, 656 },
2483
+ { 0xE311, 690 },
2484
+ { 0xE340, 654 },
2485
+ { 0xE341, 688 },
2486
+ { 0xE344, 636 },
2487
+ { 0xE345, 670 },
2488
+ { 0xE348, 638 },
2489
+ { 0xE349, 672 },
2490
+ { 0xE34C, 640 },
2491
+ { 0xE34D, 674 },
2492
+ { 0xE350, 642 },
2493
+ { 0xE351, 676 },
2494
+ { 0xE354, 644 },
2495
+ { 0xE355, 678 },
2496
+ { 0xE358, 646 },
2497
+ { 0xE359, 680 },
2498
+ { 0xE35C, 648 },
2499
+ { 0xE35D, 682 },
2500
+ { 0xE360, 650 },
2501
+ { 0xE361, 684 },
2502
+ { 0xE364, 652 },
2503
+ { 0xE365, 686 },
2504
+ { 0xE368, 624 },
2505
+ { 0xE369, 658 },
2506
+ { 0xE36C, 626 },
2507
+ { 0xE36D, 660 },
2508
+ { 0xE370, 628 },
2509
+ { 0xE371, 662 },
2510
+ { 0xE374, 630 },
2511
+ { 0xE375, 664 },
2512
+ { 0xE378, 632 },
2513
+ { 0xE379, 666 },
2514
+ { 0xE37C, 634 },
2515
+ { 0xE37D, 668 },
2516
+ { 0xE4C8, 610 },
2517
+ { 0xE510, 488 },
2518
+ { 0xE518, 15 },
2519
+ { 0xE520, 503 },
2520
+ { 0xE521, 514 },
2521
+ { 0xE528, 501 },
2522
+ { 0xE530, 506 },
2523
+ { 0xE531, 507 },
2524
+ { 0xE532, 508 },
2525
+ { 0xE533, 509 },
2526
+ { 0xE534, 510 },
2527
+ { 0xE535, 511 },
2528
+ { 0xE536, 512 },
2529
+ { 0xE537, 513 },
2530
+ { 0xE600, 987 },
2531
+ { 0xE601, 699 },
2532
+ { 0xE602, 694 },
2533
+ { 0xE609, 989 },
2534
+ { 0xE640, 417 },
2535
+ { 0xE641, 418 },
2536
+ { 0xE642, 419 },
2537
+ { 0xE643, 420 },
2538
+ { 0xE648, 421 },
2539
+ { 0xE649, 422 },
2540
+ { 0xE64A, 423 },
2541
+ { 0xE64B, 424 },
2542
+ { 0xE64D, 415 },
2543
+ { 0xE658, 427 },
2544
+ { 0xE659, 446 },
2545
+ { 0xE65A, 444 },
2546
+ { 0xE65B, 425 },
2547
+ { 0xE65D, 426 },
2548
+ { 0xE65F, 445 },
2549
+ { 0xE660, 428 },
2550
+ { 0xE661, 435 },
2551
+ { 0xE662, 436 },
2552
+ { 0xE663, 437 },
2553
+ { 0xE664, 438 },
2554
+ { 0xE665, 439 },
2555
+ { 0xE666, 440 },
2556
+ { 0xE667, 441 },
2557
+ { 0xE668, 442 },
2558
+ { 0xE669, 443 },
2559
+ { 0xE66A, 429 },
2560
+ { 0xE66B, 430 },
2561
+ { 0xE66C, 431 },
2562
+ { 0xE66D, 432 },
2563
+ { 0xE66E, 433 },
2564
+ { 0xE66F, 434 },
2565
+ { 0xE681, 257 },
2566
+ { 0xE682, 750 },
2567
+ { 0xE687, 709 },
2568
+ { 0xE6C0, 44 },
2569
+ { 0xE6C1, 51 },
2570
+ { 0xE6C2, 52 },
2571
+ { 0xE6C3, 53 },
2572
+ { 0xE6C4, 54 },
2573
+ { 0xE6C5, 55 },
2574
+ { 0xE6C6, 56 },
2575
+ { 0xE6C7, 57 },
2576
+ { 0xE6C8, 58 },
2577
+ { 0xE6C9, 59 },
2578
+ { 0xE6CA, 45 },
2579
+ { 0xE6CB, 46 },
2580
+ { 0xE6CC, 47 },
2581
+ { 0xE6CD, 48 },
2582
+ { 0xE6CE, 49 },
2583
+ { 0xE6CF, 50 },
2584
+ { 0xE6D0, 60 },
2585
+ { 0xE6D1, 67 },
2586
+ { 0xE6D2, 68 },
2587
+ { 0xE6D3, 69 },
2588
+ { 0xE6D4, 70 },
2589
+ { 0xE6D5, 71 },
2590
+ { 0xE6D6, 72 },
2591
+ { 0xE6D7, 73 },
2592
+ { 0xE6D8, 74 },
2593
+ { 0xE6D9, 75 },
2594
+ { 0xE6DA, 61 },
2595
+ { 0xE6DB, 62 },
2596
+ { 0xE6DC, 63 },
2597
+ { 0xE6DD, 64 },
2598
+ { 0xE6DE, 65 },
2599
+ { 0xE6DF, 66 },
2600
+ { 0xE703, 248 },
2601
+ { 0xE704, 244 },
2602
+ { 0xE705, 229 },
2603
+ { 0xE706, 234 },
2604
+ { 0xE707, 247 },
2605
+ { 0xE708, 216 },
2606
+ { 0xE710, 222 },
2607
+ { 0xE711, 220 },
2608
+ { 0xE712, 221 },
2609
+ { 0xE718, 228 },
2610
+ { 0xE719, 226 },
2611
+ { 0xE71A, 227 },
2612
+ { 0xE720, 225 },
2613
+ { 0xE721, 223 },
2614
+ { 0xE722, 224 },
2615
+ { 0xE728, 219 },
2616
+ { 0xE729, 217 },
2617
+ { 0xE72A, 218 },
2618
+ { 0xE880, 703 },
2619
+ { 0xE882, 259 },
2620
+ { 0xE890, 1000 },
2621
+ { 0xE891, 975 },
2622
+ { 0xE896, 714 },
2623
+ { 0xE900, 978 },
2624
+ { 0xE901, 982 },
2625
+ { 0xE902, 736 },
2626
+ { 0xEA00, 723 },
2627
+ { 0xEA01, 346 },
2628
+ { 0xEA88, 5 },
2629
+ { 0xEA89, 9 },
2630
+ { 0xEA90, 363 },
2631
+ { 0xEAB0, 743 },
2632
+ { 0xEB00, 367 },
2633
+ { 0xECC8, 609 },
2634
+ { 0xED10, 487 },
2635
+ { 0xED18, 14 },
2636
+ { 0xED28, 500 },
2637
+ { 0xEE00, 986 },
2638
+ { 0xEE81, 256 },
2639
+ { 0xEE87, 708 },
2640
+ { 0xEF08, 231 },
2641
+ { 0xEF10, 243 },
2642
+ { 0xEF11, 239 },
2643
+ { 0xEF12, 241 },
2644
+ { 0xEF18, 254 },
2645
+ { 0xEF19, 250 },
2646
+ { 0xEF1A, 252 },
2647
+ { 0xF080, 705 },
2648
+ { 0xF081, 3 },
2649
+ { 0xF088, 701 },
2650
+ { 0xF089, 712 },
2651
+ { 0xF08A, 262 },
2652
+ { 0xF090, 1002 },
2653
+ { 0xF096, 716 },
2654
+ { 0xF099, 493 },
2655
+ { 0xF100, 980 },
2656
+ { 0xF102, 738 },
2657
+ { 0xF10C, 376 },
2658
+ { 0xF10E, 375 },
2659
+ { 0xF200, 725 },
2660
+ { 0xF201, 348 },
2661
+ { 0xF208, 731 },
2662
+ { 0xF288, 7 },
2663
+ { 0xF289, 11 },
2664
+ { 0xF290, 365 },
2665
+ { 0xF2B0, 745 },
2666
+ { 0xF300, 369 },
2667
+ { 0xF305, 496 },
2668
+ { 0xF510, 489 },
2669
+ { 0xF518, 16 },
2670
+ { 0xF528, 502 },
2671
+ { 0xF600, 988 },
2672
+ { 0xF601, 700 },
2673
+ { 0xF602, 695 },
2674
+ { 0xF664, 399 },
2675
+ { 0xF665, 416 },
2676
+ { 0xF667, 409 },
2677
+ { 0xF682, 751 },
2678
+ { 0xF687, 710 },
2679
+ { 0xFF10, 237 },
2680
+ { 0xFF11, 235 },
2681
+ { 0xFF12, 236 },
2682
+ { 0xFF90, 260 },
2683
+ };
2684
+
2685
+ i = binsearch_IndexTypeEncoding(Index, ARR_SIZE(Index), Encoding);
2686
+ if (i == -1)
2687
+ return NULL;
2688
+ else
2689
+ return &SysRegsList[Index[i].index];
2690
+ }
2691
+
2692
+ static const PState PStatesList[] = {
2693
+ { "daifclr", 0x1F }, // 0
2694
+ { "daifset", 0x1E }, // 1
2695
+ { "dit", 0x1A }, // 2
2696
+ { "pan", 0x4 }, // 3
2697
+ { "spsel", 0x5 }, // 4
2698
+ { "ssbs", 0x19 }, // 5
2699
+ { "tco", 0x1C }, // 6
2700
+ { "uao", 0x3 }, // 7
2701
+ };
2702
+
2703
+ const PState *lookupPStateByEncoding(uint16_t Encoding)
2704
+ {
2705
+ unsigned int i;
2706
+ static const struct IndexType Index[] = {
2707
+ { 0x3, 7 },
2708
+ { 0x4, 3 },
2709
+ { 0x5, 4 },
2710
+ { 0x19, 5 },
2711
+ { 0x1A, 2 },
2712
+ { 0x1C, 6 },
2713
+ { 0x1E, 1 },
2714
+ { 0x1F, 0 },
2715
+ };
2716
+
2717
+ i = binsearch_IndexTypeEncoding(Index, ARR_SIZE(Index), Encoding);
2718
+ if (i == -1)
2719
+ return NULL;
2720
+ else
2721
+ return &PStatesList[Index[i].index];
2722
+ }
2723
+
2724
+ static const SVEPREDPAT SVEPREDPATsList[] = {
2725
+ { "all", 0x1f }, // 0
2726
+ { "mul3", 0x1e }, // 1
2727
+ { "mul4", 0x1d }, // 2
2728
+ { "pow2", 0x0 }, // 3
2729
+ { "vl1", 0x1 }, // 4
2730
+ { "vl128", 0xc }, // 5
2731
+ { "vl16", 0x9 }, // 6
2732
+ { "vl2", 0x2 }, // 7
2733
+ { "vl256", 0xd }, // 8
2734
+ { "vl3", 0x3 }, // 9
2735
+ { "vl32", 0xa }, // 10
2736
+ { "vl4", 0x4 }, // 11
2737
+ { "vl5", 0x5 }, // 12
2738
+ { "vl6", 0x6 }, // 13
2739
+ { "vl64", 0xb }, // 14
2740
+ { "vl7", 0x7 }, // 15
2741
+ { "vl8", 0x8 }, // 16
2742
+ };
2743
+
2744
+ const SVEPREDPAT *lookupSVEPREDPATByEncoding(uint16_t Encoding)
2745
+ {
2746
+ unsigned int i;
2747
+ static const struct IndexType Index[] = {
2748
+ { 0x0, 3 },
2749
+ { 0x1, 4 },
2750
+ { 0x2, 7 },
2751
+ { 0x3, 9 },
2752
+ { 0x4, 11 },
2753
+ { 0x5, 12 },
2754
+ { 0x6, 13 },
2755
+ { 0x7, 15 },
2756
+ { 0x8, 16 },
2757
+ { 0x9, 6 },
2758
+ { 0xA, 10 },
2759
+ { 0xB, 14 },
2760
+ { 0xC, 5 },
2761
+ { 0xD, 8 },
2762
+ { 0x1D, 2 },
2763
+ { 0x1E, 1 },
2764
+ { 0x1F, 0 },
2765
+ };
2766
+
2767
+ i = binsearch_IndexTypeEncoding(Index, ARR_SIZE(Index), Encoding);
2768
+ if (i == -1)
2769
+ return NULL;
2770
+ else
2771
+ return &SVEPREDPATsList[Index[i].index];
2772
+ }
2773
+
2774
+ static const SVCR SVCRsList[] = {
2775
+ { "svcrsm", 0x1 }, // 0
2776
+ { "svcrsmza", 0x3 }, // 1
2777
+ { "svcrza", 0x2 }, // 2
2778
+ };
2779
+
2780
+ const SVCR *lookupSVCRByEncoding(uint8_t Encoding)
2781
+ {
2782
+ unsigned int i;
2783
+ static const struct IndexType Index[] = {
2784
+ { 0x1, 0 },
2785
+ { 0x2, 2 },
2786
+ { 0x3, 1 },
2787
+ };
2788
+
2789
+ i = binsearch_IndexTypeEncoding(Index, ARR_SIZE(Index), Encoding);
2790
+ if (i == -1)
2791
+ return NULL;
2792
+ else
2793
+ return &SVCRsList[Index[i].index];
2794
+ }
2795
+
2796
+ static const BTI BTIsList[] = {
2797
+ { "c", 0x2 }, // 0
2798
+ { "j", 0x4 }, // 1
2799
+ { "jc", 0x6 }, // 2
2800
+ };
2801
+
2802
+ const BTI *lookupBTIByEncoding(uint8_t Encoding)
2803
+ {
2804
+ unsigned int i;
2805
+ static const struct IndexType Index[] = {
2806
+ { 0x2, 0 },
2807
+ { 0x4, 1 },
2808
+ { 0x6, 2 },
2809
+ };
2810
+
2811
+ i = binsearch_IndexTypeEncoding(Index, ARR_SIZE(Index), Encoding);
2812
+ if (i == -1)
2813
+ return NULL;
2814
+ else
2815
+ return &BTIsList[Index[i].index];
2816
+ }
2817
+
2818
+ static const DBnXS DBnXSsList[] = {
2819
+ { "ishnxs", 0xB, 0x18}, // 0
2820
+ { "nshnxs", 0x7, 0x14}, // 1
2821
+ { "oshnxs", 0x3, 0x10}, // 2
2822
+ { "synxs", 0xF, 0x1C}, // 3
2823
+ };
2824
+
2825
+ const DBnXS *lookupDBnXSByEncoding(uint8_t Encoding)
2826
+ {
2827
+ unsigned int i;
2828
+ static const struct IndexType Index[] = {
2829
+ { 0x3, 2 },
2830
+ { 0x7, 1 },
2831
+ { 0xB, 0 },
2832
+ { 0xF, 3 },
2833
+ };
2834
+
2835
+ i = binsearch_IndexTypeEncoding(Index, ARR_SIZE(Index), Encoding);
2836
+ if (i == -1)
2837
+ return NULL;
2838
+ else
2839
+ return &DBnXSsList[Index[i].index];
2840
+ }
2841
+
2842
+ static const ExactFPImm ExactFPImmsList[] = {
2843
+ { "half", 0x1, "0.5" }, // 0
2844
+ { "one", 0x2, "1.0" }, // 1
2845
+ { "two", 0x3, "2.0" }, // 2
2846
+ { "zero", 0x0, "0.0" }, // 3
2847
+ };
2848
+
2849
+ const ExactFPImm *lookupExactFPImmByEnum(uint16_t Encoding)
2850
+ {
2851
+ static const struct IndexType Index[] = {
2852
+ { 0x0, 3 },
2853
+ { 0x1, 0 },
2854
+ { 0x2, 1 },
2855
+ { 0x3, 2 },
2856
+ };
2857
+
2858
+ if (Encoding >= ARR_SIZE(ExactFPImmsList))
2859
+ return NULL;
2860
+ else
2861
+ return &ExactFPImmsList[Index[Encoding].index];
2862
+ }
2863
+