udb 0.1.16 → 0.1.17

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 (604) hide show
  1. checksums.yaml +4 -4
  2. data/.data/cfgs/example_rv64_with_overlay.yaml +20 -0
  3. data/.data/cfgs/mc100-32-full-example.yaml +6 -0
  4. data/.data/cfgs/qc_iu.yaml +14 -0
  5. data/.data/cfgs/rv32-riscv-tests.yaml +9 -0
  6. data/.data/cfgs/rv32-vector.yaml +10 -1
  7. data/.data/cfgs/rv64-riscv-tests.yaml +9 -0
  8. data/.data/cfgs/rv64-vector.yaml +11 -2
  9. data/.data/spec/custom/isa/qc_iu/inst/Xqccmp/qc.cm.mva01s.yaml +2 -2
  10. data/.data/spec/custom/isa/qc_iu/inst/Xqccmp/qc.cm.mvsa01.yaml +2 -2
  11. data/.data/spec/custom/isa/qc_iu/inst/Xqccmp/qc.cm.pop.yaml +2 -2
  12. data/.data/spec/custom/isa/qc_iu/inst/Xqccmp/qc.cm.popret.yaml +2 -2
  13. data/.data/spec/custom/isa/qc_iu/inst/Xqccmp/qc.cm.popretz.yaml +2 -2
  14. data/.data/spec/custom/isa/qc_iu/inst/Xqccmp/qc.cm.push.yaml +2 -2
  15. data/.data/spec/custom/isa/qc_iu/inst/Xqccmp/qc.cm.pushfp.yaml +2 -2
  16. data/.data/spec/schemas/README.adoc +4 -1
  17. data/.data/spec/schemas/csr_schema.json +2 -2
  18. data/.data/spec/std/isa/csr/H/hgeie.yaml +38 -0
  19. data/.data/spec/std/isa/csr/H/hgeip.yaml +33 -0
  20. data/.data/spec/std/isa/csr/H/hideleg.yaml +120 -0
  21. data/.data/spec/std/isa/csr/H/hie.yaml +74 -0
  22. data/.data/spec/std/isa/csr/H/hip.yaml +88 -0
  23. data/.data/spec/std/isa/csr/H/hvip.yaml +46 -0
  24. data/.data/spec/std/isa/csr/H/vsie.yaml +86 -0
  25. data/.data/spec/std/isa/csr/H/vsip.yaml +98 -0
  26. data/.data/spec/std/isa/csr/H/vsscratch.yaml +29 -0
  27. data/.data/spec/std/isa/csr/I/pmpaddr0.yaml +7 -7
  28. data/.data/spec/std/isa/csr/I/pmpaddr1.yaml +7 -7
  29. data/.data/spec/std/isa/csr/I/pmpaddr10.yaml +7 -7
  30. data/.data/spec/std/isa/csr/I/pmpaddr11.yaml +7 -7
  31. data/.data/spec/std/isa/csr/I/pmpaddr12.yaml +7 -7
  32. data/.data/spec/std/isa/csr/I/pmpaddr13.yaml +7 -7
  33. data/.data/spec/std/isa/csr/I/pmpaddr14.yaml +7 -7
  34. data/.data/spec/std/isa/csr/I/pmpaddr15.yaml +7 -7
  35. data/.data/spec/std/isa/csr/I/pmpaddr16.yaml +7 -7
  36. data/.data/spec/std/isa/csr/I/pmpaddr17.yaml +7 -7
  37. data/.data/spec/std/isa/csr/I/pmpaddr18.yaml +7 -7
  38. data/.data/spec/std/isa/csr/I/pmpaddr19.yaml +7 -7
  39. data/.data/spec/std/isa/csr/I/pmpaddr2.yaml +7 -7
  40. data/.data/spec/std/isa/csr/I/pmpaddr20.yaml +7 -7
  41. data/.data/spec/std/isa/csr/I/pmpaddr21.yaml +7 -7
  42. data/.data/spec/std/isa/csr/I/pmpaddr22.yaml +7 -7
  43. data/.data/spec/std/isa/csr/I/pmpaddr23.yaml +7 -7
  44. data/.data/spec/std/isa/csr/I/pmpaddr24.yaml +7 -7
  45. data/.data/spec/std/isa/csr/I/pmpaddr25.yaml +7 -7
  46. data/.data/spec/std/isa/csr/I/pmpaddr26.yaml +7 -7
  47. data/.data/spec/std/isa/csr/I/pmpaddr27.yaml +7 -7
  48. data/.data/spec/std/isa/csr/I/pmpaddr28.yaml +7 -7
  49. data/.data/spec/std/isa/csr/I/pmpaddr29.yaml +7 -7
  50. data/.data/spec/std/isa/csr/I/pmpaddr3.yaml +7 -7
  51. data/.data/spec/std/isa/csr/I/pmpaddr30.yaml +7 -7
  52. data/.data/spec/std/isa/csr/I/pmpaddr31.yaml +7 -7
  53. data/.data/spec/std/isa/csr/I/pmpaddr32.yaml +7 -7
  54. data/.data/spec/std/isa/csr/I/pmpaddr33.yaml +7 -7
  55. data/.data/spec/std/isa/csr/I/pmpaddr34.yaml +7 -7
  56. data/.data/spec/std/isa/csr/I/pmpaddr35.yaml +7 -7
  57. data/.data/spec/std/isa/csr/I/pmpaddr36.yaml +7 -7
  58. data/.data/spec/std/isa/csr/I/pmpaddr37.yaml +7 -7
  59. data/.data/spec/std/isa/csr/I/pmpaddr38.yaml +7 -7
  60. data/.data/spec/std/isa/csr/I/pmpaddr39.yaml +7 -7
  61. data/.data/spec/std/isa/csr/I/pmpaddr4.yaml +7 -7
  62. data/.data/spec/std/isa/csr/I/pmpaddr40.yaml +7 -7
  63. data/.data/spec/std/isa/csr/I/pmpaddr41.yaml +7 -7
  64. data/.data/spec/std/isa/csr/I/pmpaddr42.yaml +7 -7
  65. data/.data/spec/std/isa/csr/I/pmpaddr43.yaml +7 -7
  66. data/.data/spec/std/isa/csr/I/pmpaddr44.yaml +7 -7
  67. data/.data/spec/std/isa/csr/I/pmpaddr45.yaml +7 -7
  68. data/.data/spec/std/isa/csr/I/pmpaddr46.yaml +7 -7
  69. data/.data/spec/std/isa/csr/I/pmpaddr47.yaml +7 -7
  70. data/.data/spec/std/isa/csr/I/pmpaddr48.yaml +7 -7
  71. data/.data/spec/std/isa/csr/I/pmpaddr49.yaml +7 -7
  72. data/.data/spec/std/isa/csr/I/pmpaddr5.yaml +7 -7
  73. data/.data/spec/std/isa/csr/I/pmpaddr50.yaml +7 -7
  74. data/.data/spec/std/isa/csr/I/pmpaddr51.yaml +7 -7
  75. data/.data/spec/std/isa/csr/I/pmpaddr52.yaml +7 -7
  76. data/.data/spec/std/isa/csr/I/pmpaddr53.yaml +7 -7
  77. data/.data/spec/std/isa/csr/I/pmpaddr54.yaml +7 -7
  78. data/.data/spec/std/isa/csr/I/pmpaddr55.yaml +7 -7
  79. data/.data/spec/std/isa/csr/I/pmpaddr56.yaml +7 -7
  80. data/.data/spec/std/isa/csr/I/pmpaddr57.yaml +7 -7
  81. data/.data/spec/std/isa/csr/I/pmpaddr58.yaml +7 -7
  82. data/.data/spec/std/isa/csr/I/pmpaddr59.yaml +7 -7
  83. data/.data/spec/std/isa/csr/I/pmpaddr6.yaml +7 -7
  84. data/.data/spec/std/isa/csr/I/pmpaddr60.yaml +7 -7
  85. data/.data/spec/std/isa/csr/I/pmpaddr61.yaml +7 -7
  86. data/.data/spec/std/isa/csr/I/pmpaddr62.yaml +7 -7
  87. data/.data/spec/std/isa/csr/I/pmpaddr63.yaml +7 -7
  88. data/.data/spec/std/isa/csr/I/pmpaddr7.yaml +7 -7
  89. data/.data/spec/std/isa/csr/I/pmpaddr8.yaml +7 -7
  90. data/.data/spec/std/isa/csr/I/pmpaddr9.yaml +7 -7
  91. data/.data/spec/std/isa/csr/I/pmpaddrN.layout +7 -7
  92. data/.data/spec/std/isa/csr/Smcsrind/mireg.yaml +2 -2
  93. data/.data/spec/std/isa/csr/Smcsrind/mireg2.yaml +2 -2
  94. data/.data/spec/std/isa/csr/Smcsrind/mireg3.yaml +2 -2
  95. data/.data/spec/std/isa/csr/Smcsrind/mireg4.yaml +2 -2
  96. data/.data/spec/std/isa/csr/Smcsrind/mireg5.yaml +2 -2
  97. data/.data/spec/std/isa/csr/Smcsrind/mireg6.yaml +2 -2
  98. data/.data/spec/std/isa/csr/Smcsrind/sireg.yaml +2 -2
  99. data/.data/spec/std/isa/csr/Smcsrind/sireg2.yaml +2 -2
  100. data/.data/spec/std/isa/csr/Smcsrind/sireg3.yaml +2 -2
  101. data/.data/spec/std/isa/csr/Smcsrind/sireg4.yaml +2 -2
  102. data/.data/spec/std/isa/csr/Smcsrind/sireg5.yaml +2 -2
  103. data/.data/spec/std/isa/csr/Smcsrind/sireg6.yaml +2 -2
  104. data/.data/spec/std/isa/csr/Smcsrind/vsireg.yaml +2 -2
  105. data/.data/spec/std/isa/csr/Smcsrind/vsireg2.yaml +2 -2
  106. data/.data/spec/std/isa/csr/Smcsrind/vsireg3.yaml +2 -2
  107. data/.data/spec/std/isa/csr/Smcsrind/vsireg4.yaml +2 -2
  108. data/.data/spec/std/isa/csr/Smcsrind/vsireg5.yaml +2 -2
  109. data/.data/spec/std/isa/csr/Smcsrind/vsireg6.yaml +2 -2
  110. data/.data/spec/std/isa/csr/Smctr/sctrctl.yaml +1 -1
  111. data/.data/spec/std/isa/csr/Smctr/sctrdepth.yaml +43 -0
  112. data/.data/spec/std/isa/csr/Smctr/sctrstatus.yaml +37 -0
  113. data/.data/spec/std/isa/csr/Smctr/vsctrctl.yaml +3 -1
  114. data/.data/spec/std/isa/csr/Sstc/stimecmp.yaml +42 -0
  115. data/.data/spec/std/isa/csr/Sstc/stimecmph.yaml +43 -0
  116. data/.data/spec/std/isa/csr/Sstc/vstimecmp.yaml +45 -0
  117. data/.data/spec/std/isa/csr/Sstc/vstimecmph.yaml +46 -0
  118. data/.data/spec/std/isa/csr/V/vcsr.yaml +1 -1
  119. data/.data/spec/std/isa/csr/V/vl.yaml +1 -1
  120. data/.data/spec/std/isa/csr/V/vlenb.yaml +1 -1
  121. data/.data/spec/std/isa/csr/V/vstart.yaml +1 -1
  122. data/.data/spec/std/isa/csr/V/vtype.yaml +20 -1
  123. data/.data/spec/std/isa/csr/V/vxrm.yaml +1 -1
  124. data/.data/spec/std/isa/csr/V/vxsat.yaml +1 -1
  125. data/.data/spec/std/isa/csr/Zicntr/mcountinhibit.layout +1 -15
  126. data/.data/spec/std/isa/csr/Zicntr/mcountinhibit.yaml +29 -267
  127. data/.data/spec/std/isa/csr/mideleg.yaml +57 -9
  128. data/.data/spec/std/isa/csr/mie.yaml +18 -9
  129. data/.data/spec/std/isa/csr/mip.yaml +21 -10
  130. data/.data/spec/std/isa/csr/misa.yaml +11 -7
  131. data/.data/spec/std/isa/csr/mstatus.yaml +2 -2
  132. data/.data/spec/std/isa/csr/schema.adoc +10 -4
  133. data/.data/spec/std/isa/csr/senvcfg.yaml +6 -12
  134. data/.data/spec/std/isa/csr/sstateen0.yaml +1 -1
  135. data/.data/spec/std/isa/csr/sstateen1.yaml +2 -3
  136. data/.data/spec/std/isa/csr/sstateen2.yaml +2 -3
  137. data/.data/spec/std/isa/csr/sstateen3.yaml +2 -3
  138. data/.data/spec/std/isa/csr/tcontrol.yaml +37 -0
  139. data/.data/spec/std/isa/csr/tinfo.yaml +44 -0
  140. data/.data/spec/std/isa/ext/Smctr.yaml +1 -1
  141. data/.data/spec/std/isa/ext/Ssctr.yaml +1 -1
  142. data/.data/spec/std/isa/ext/Ssstrict.yaml +2 -2
  143. data/.data/spec/std/isa/ext/Sv32.yaml +2 -2
  144. data/.data/spec/std/isa/ext/Svpbmt.yaml +2 -2
  145. data/.data/spec/std/isa/ext/Zaamo.yaml +1 -1
  146. data/.data/spec/std/isa/ext/Zbc.yaml +4 -0
  147. data/.data/spec/std/isa/ext/Zvfbfa.yaml +24 -0
  148. data/.data/spec/std/isa/ext/Zvfofp4min.yaml +21 -0
  149. data/.data/spec/std/isa/ext/Zvfofp8min.yaml +20 -0
  150. data/.data/spec/std/isa/inst/B/andn.yaml +0 -4
  151. data/.data/spec/std/isa/inst/B/orn.yaml +0 -4
  152. data/.data/spec/std/isa/inst/B/rev8.yaml +0 -4
  153. data/.data/spec/std/isa/inst/B/rol.yaml +0 -4
  154. data/.data/spec/std/isa/inst/B/rolw.yaml +0 -4
  155. data/.data/spec/std/isa/inst/B/ror.yaml +0 -4
  156. data/.data/spec/std/isa/inst/B/rori.yaml +0 -4
  157. data/.data/spec/std/isa/inst/B/roriw.yaml +0 -4
  158. data/.data/spec/std/isa/inst/B/rorw.yaml +0 -4
  159. data/.data/spec/std/isa/inst/B/xnor.yaml +0 -4
  160. data/.data/spec/std/isa/inst/C/c.addi.yaml +2 -2
  161. data/.data/spec/std/isa/inst/C/c.addi16sp.yaml +2 -2
  162. data/.data/spec/std/isa/inst/C/c.addi4spn.yaml +2 -2
  163. data/.data/spec/std/isa/inst/C/c.addiw.yaml +2 -2
  164. data/.data/spec/std/isa/inst/C/c.beqz.yaml +2 -2
  165. data/.data/spec/std/isa/inst/C/c.bnez.yaml +2 -2
  166. data/.data/spec/std/isa/inst/C/c.ebreak.yaml +2 -2
  167. data/.data/spec/std/isa/inst/C/c.j.yaml +2 -2
  168. data/.data/spec/std/isa/inst/C/c.jal.yaml +2 -2
  169. data/.data/spec/std/isa/inst/C/c.jalr.yaml +2 -2
  170. data/.data/spec/std/isa/inst/C/c.jr.yaml +2 -2
  171. data/.data/spec/std/isa/inst/C/c.ld.yaml +2 -2
  172. data/.data/spec/std/isa/inst/C/c.ldsp.yaml +2 -2
  173. data/.data/spec/std/isa/inst/C/c.li.yaml +2 -2
  174. data/.data/spec/std/isa/inst/C/c.lui.yaml +2 -2
  175. data/.data/spec/std/isa/inst/C/c.lw.yaml +2 -2
  176. data/.data/spec/std/isa/inst/C/c.lwsp.yaml +2 -2
  177. data/.data/spec/std/isa/inst/C/c.mv.yaml +2 -2
  178. data/.data/spec/std/isa/inst/C/c.nop.yaml +2 -2
  179. data/.data/spec/std/isa/inst/C/c.sd.yaml +2 -2
  180. data/.data/spec/std/isa/inst/C/c.sdsp.yaml +5 -5
  181. data/.data/spec/std/isa/inst/C/c.sw.yaml +2 -2
  182. data/.data/spec/std/isa/inst/C/c.swsp.yaml +2 -2
  183. data/.data/spec/std/isa/inst/I/ld.yaml +9 -4
  184. data/.data/spec/std/isa/inst/I/sd.yaml +9 -4
  185. data/.data/spec/std/isa/inst/I/wfi.yaml +1 -1
  186. data/.data/spec/std/isa/inst/M/div.yaml +2 -2
  187. data/.data/spec/std/isa/inst/M/divu.yaml +2 -2
  188. data/.data/spec/std/isa/inst/M/divuw.yaml +2 -2
  189. data/.data/spec/std/isa/inst/M/divw.yaml +2 -2
  190. data/.data/spec/std/isa/inst/M/mul.yaml +0 -4
  191. data/.data/spec/std/isa/inst/M/mulh.yaml +0 -4
  192. data/.data/spec/std/isa/inst/M/mulhsu.yaml +0 -4
  193. data/.data/spec/std/isa/inst/M/mulhu.yaml +0 -4
  194. data/.data/spec/std/isa/inst/M/mulw.yaml +0 -4
  195. data/.data/spec/std/isa/inst/M/rem.yaml +2 -2
  196. data/.data/spec/std/isa/inst/M/remu.yaml +2 -2
  197. data/.data/spec/std/isa/inst/M/remuw.yaml +2 -2
  198. data/.data/spec/std/isa/inst/M/remw.yaml +2 -2
  199. data/.data/spec/std/isa/inst/V/vfadd.vf.yaml +3 -1
  200. data/.data/spec/std/isa/inst/V/vfadd.vv.yaml +3 -1
  201. data/.data/spec/std/isa/inst/V/vfclass.v.yaml +3 -1
  202. data/.data/spec/std/isa/inst/V/vfmacc.vf.yaml +3 -1
  203. data/.data/spec/std/isa/inst/V/vfmacc.vv.yaml +3 -1
  204. data/.data/spec/std/isa/inst/V/vfmadd.vf.yaml +3 -1
  205. data/.data/spec/std/isa/inst/V/vfmadd.vv.yaml +3 -1
  206. data/.data/spec/std/isa/inst/V/vfmax.vf.yaml +3 -1
  207. data/.data/spec/std/isa/inst/V/vfmax.vv.yaml +3 -1
  208. data/.data/spec/std/isa/inst/V/vfmerge.vfm.yaml +3 -1
  209. data/.data/spec/std/isa/inst/V/vfmin.vf.yaml +3 -1
  210. data/.data/spec/std/isa/inst/V/vfmin.vv.yaml +3 -1
  211. data/.data/spec/std/isa/inst/V/vfmsac.vf.yaml +3 -1
  212. data/.data/spec/std/isa/inst/V/vfmsac.vv.yaml +3 -1
  213. data/.data/spec/std/isa/inst/V/vfmsub.vf.yaml +3 -1
  214. data/.data/spec/std/isa/inst/V/vfmsub.vv.yaml +3 -1
  215. data/.data/spec/std/isa/inst/V/vfmul.vf.yaml +3 -1
  216. data/.data/spec/std/isa/inst/V/vfmul.vv.yaml +3 -1
  217. data/.data/spec/std/isa/inst/V/vfmv.f.s.yaml +3 -1
  218. data/.data/spec/std/isa/inst/V/vfmv.s.f.yaml +3 -1
  219. data/.data/spec/std/isa/inst/V/vfmv.v.f.yaml +3 -1
  220. data/.data/spec/std/isa/inst/V/vfncvt.f.f.w.yaml +3 -1
  221. data/.data/spec/std/isa/inst/V/vfncvt.rod.f.f.w.yaml +3 -1
  222. data/.data/spec/std/isa/inst/V/vfncvt.rtz.x.f.w.yaml +3 -1
  223. data/.data/spec/std/isa/inst/V/vfncvt.rtz.xu.f.w.yaml +3 -1
  224. data/.data/spec/std/isa/inst/V/vfncvt.x.f.w.yaml +3 -1
  225. data/.data/spec/std/isa/inst/V/vfncvt.xu.f.w.yaml +3 -1
  226. data/.data/spec/std/isa/inst/V/vfnmacc.vf.yaml +3 -1
  227. data/.data/spec/std/isa/inst/V/vfnmacc.vv.yaml +3 -1
  228. data/.data/spec/std/isa/inst/V/vfnmadd.vf.yaml +3 -1
  229. data/.data/spec/std/isa/inst/V/vfnmadd.vv.yaml +3 -1
  230. data/.data/spec/std/isa/inst/V/vfnmsac.vf.yaml +3 -1
  231. data/.data/spec/std/isa/inst/V/vfnmsac.vv.yaml +3 -1
  232. data/.data/spec/std/isa/inst/V/vfnmsub.vf.yaml +3 -1
  233. data/.data/spec/std/isa/inst/V/vfnmsub.vv.yaml +3 -1
  234. data/.data/spec/std/isa/inst/V/vfrec7.v.yaml +3 -1
  235. data/.data/spec/std/isa/inst/V/vfrsqrt7.v.yaml +3 -1
  236. data/.data/spec/std/isa/inst/V/vfrsub.vf.yaml +3 -1
  237. data/.data/spec/std/isa/inst/V/vfsgnj.vf.yaml +3 -1
  238. data/.data/spec/std/isa/inst/V/vfsgnj.vv.yaml +3 -1
  239. data/.data/spec/std/isa/inst/V/vfsgnjn.vf.yaml +3 -1
  240. data/.data/spec/std/isa/inst/V/vfsgnjn.vv.yaml +3 -1
  241. data/.data/spec/std/isa/inst/V/vfsgnjx.vf.yaml +3 -1
  242. data/.data/spec/std/isa/inst/V/vfsgnjx.vv.yaml +3 -1
  243. data/.data/spec/std/isa/inst/V/vfslide1down.vf.yaml +3 -1
  244. data/.data/spec/std/isa/inst/V/vfslide1up.vf.yaml +3 -1
  245. data/.data/spec/std/isa/inst/V/vfsub.vf.yaml +3 -1
  246. data/.data/spec/std/isa/inst/V/vfsub.vv.yaml +3 -1
  247. data/.data/spec/std/isa/inst/V/vfwadd.vf.yaml +3 -1
  248. data/.data/spec/std/isa/inst/V/vfwadd.vv.yaml +3 -1
  249. data/.data/spec/std/isa/inst/V/vfwadd.wf.yaml +3 -1
  250. data/.data/spec/std/isa/inst/V/vfwadd.wv.yaml +3 -1
  251. data/.data/spec/std/isa/inst/V/vfwcvt.f.f.v.yaml +3 -1
  252. data/.data/spec/std/isa/inst/V/vfwcvt.f.x.v.yaml +3 -1
  253. data/.data/spec/std/isa/inst/V/vfwcvt.f.xu.v.yaml +3 -1
  254. data/.data/spec/std/isa/inst/V/vfwmacc.vf.yaml +3 -1
  255. data/.data/spec/std/isa/inst/V/vfwmacc.vv.yaml +3 -1
  256. data/.data/spec/std/isa/inst/V/vfwmsac.vf.yaml +3 -1
  257. data/.data/spec/std/isa/inst/V/vfwmsac.vv.yaml +3 -1
  258. data/.data/spec/std/isa/inst/V/vfwmul.vf.yaml +3 -1
  259. data/.data/spec/std/isa/inst/V/vfwmul.vv.yaml +3 -1
  260. data/.data/spec/std/isa/inst/V/vfwnmacc.vf.yaml +3 -1
  261. data/.data/spec/std/isa/inst/V/vfwnmacc.vv.yaml +3 -1
  262. data/.data/spec/std/isa/inst/V/vfwnmsac.vf.yaml +3 -1
  263. data/.data/spec/std/isa/inst/V/vfwnmsac.vv.yaml +3 -1
  264. data/.data/spec/std/isa/inst/V/vfwsub.vf.yaml +3 -1
  265. data/.data/spec/std/isa/inst/V/vfwsub.vv.yaml +3 -1
  266. data/.data/spec/std/isa/inst/V/vfwsub.wf.yaml +3 -1
  267. data/.data/spec/std/isa/inst/V/vfwsub.wv.yaml +3 -1
  268. data/.data/spec/std/isa/inst/V/vmfeq.vf.yaml +3 -1
  269. data/.data/spec/std/isa/inst/V/vmfeq.vv.yaml +3 -1
  270. data/.data/spec/std/isa/inst/V/vmfge.vf.yaml +3 -1
  271. data/.data/spec/std/isa/inst/V/vmfgt.vf.yaml +3 -1
  272. data/.data/spec/std/isa/inst/V/vmfle.vf.yaml +3 -1
  273. data/.data/spec/std/isa/inst/V/vmfle.vv.yaml +3 -1
  274. data/.data/spec/std/isa/inst/V/vmflt.vf.yaml +3 -1
  275. data/.data/spec/std/isa/inst/V/vmflt.vv.yaml +3 -1
  276. data/.data/spec/std/isa/inst/V/vmfne.vf.yaml +3 -1
  277. data/.data/spec/std/isa/inst/V/vmfne.vv.yaml +3 -1
  278. data/.data/spec/std/isa/inst/Zaamo/amoadd.SIZE.AQRL.layout +1 -5
  279. data/.data/spec/std/isa/inst/Zaamo/amoadd.d.aq.yaml +0 -4
  280. data/.data/spec/std/isa/inst/Zaamo/amoadd.d.aqrl.yaml +0 -4
  281. data/.data/spec/std/isa/inst/Zaamo/amoadd.d.rl.yaml +0 -4
  282. data/.data/spec/std/isa/inst/Zaamo/amoadd.d.yaml +0 -4
  283. data/.data/spec/std/isa/inst/Zaamo/amoadd.w.aq.yaml +1 -5
  284. data/.data/spec/std/isa/inst/Zaamo/amoadd.w.aqrl.yaml +1 -5
  285. data/.data/spec/std/isa/inst/Zaamo/amoadd.w.rl.yaml +1 -5
  286. data/.data/spec/std/isa/inst/Zaamo/amoadd.w.yaml +1 -5
  287. data/.data/spec/std/isa/inst/Zaamo/amoand.SIZE.AQRL.layout +1 -5
  288. data/.data/spec/std/isa/inst/Zaamo/amoand.d.aq.yaml +0 -4
  289. data/.data/spec/std/isa/inst/Zaamo/amoand.d.aqrl.yaml +0 -4
  290. data/.data/spec/std/isa/inst/Zaamo/amoand.d.rl.yaml +0 -4
  291. data/.data/spec/std/isa/inst/Zaamo/amoand.d.yaml +0 -4
  292. data/.data/spec/std/isa/inst/Zaamo/amoand.w.aq.yaml +1 -5
  293. data/.data/spec/std/isa/inst/Zaamo/amoand.w.aqrl.yaml +1 -5
  294. data/.data/spec/std/isa/inst/Zaamo/amoand.w.rl.yaml +1 -5
  295. data/.data/spec/std/isa/inst/Zaamo/amoand.w.yaml +1 -5
  296. data/.data/spec/std/isa/inst/Zaamo/amomax.SIZE.AQRL.layout +1 -5
  297. data/.data/spec/std/isa/inst/Zaamo/amomax.d.aq.yaml +0 -4
  298. data/.data/spec/std/isa/inst/Zaamo/amomax.d.aqrl.yaml +0 -4
  299. data/.data/spec/std/isa/inst/Zaamo/amomax.d.rl.yaml +0 -4
  300. data/.data/spec/std/isa/inst/Zaamo/amomax.d.yaml +0 -4
  301. data/.data/spec/std/isa/inst/Zaamo/amomax.w.aq.yaml +1 -5
  302. data/.data/spec/std/isa/inst/Zaamo/amomax.w.aqrl.yaml +1 -5
  303. data/.data/spec/std/isa/inst/Zaamo/amomax.w.rl.yaml +1 -5
  304. data/.data/spec/std/isa/inst/Zaamo/amomax.w.yaml +1 -5
  305. data/.data/spec/std/isa/inst/Zaamo/amomaxu.SIZE.AQRL.layout +1 -5
  306. data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.aq.yaml +0 -4
  307. data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.aqrl.yaml +0 -4
  308. data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.rl.yaml +0 -4
  309. data/.data/spec/std/isa/inst/Zaamo/amomaxu.d.yaml +0 -4
  310. data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.aq.yaml +1 -5
  311. data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.aqrl.yaml +1 -5
  312. data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.rl.yaml +1 -5
  313. data/.data/spec/std/isa/inst/Zaamo/amomaxu.w.yaml +1 -5
  314. data/.data/spec/std/isa/inst/Zaamo/amomin.SIZE.AQRL.layout +1 -5
  315. data/.data/spec/std/isa/inst/Zaamo/amomin.d.aq.yaml +0 -4
  316. data/.data/spec/std/isa/inst/Zaamo/amomin.d.aqrl.yaml +0 -4
  317. data/.data/spec/std/isa/inst/Zaamo/amomin.d.rl.yaml +0 -4
  318. data/.data/spec/std/isa/inst/Zaamo/amomin.d.yaml +0 -4
  319. data/.data/spec/std/isa/inst/Zaamo/amomin.w.aq.yaml +1 -5
  320. data/.data/spec/std/isa/inst/Zaamo/amomin.w.aqrl.yaml +1 -5
  321. data/.data/spec/std/isa/inst/Zaamo/amomin.w.rl.yaml +1 -5
  322. data/.data/spec/std/isa/inst/Zaamo/amomin.w.yaml +1 -5
  323. data/.data/spec/std/isa/inst/Zaamo/amominu.SIZE.AQRL.layout +1 -5
  324. data/.data/spec/std/isa/inst/Zaamo/amominu.d.aq.yaml +0 -4
  325. data/.data/spec/std/isa/inst/Zaamo/amominu.d.aqrl.yaml +0 -4
  326. data/.data/spec/std/isa/inst/Zaamo/amominu.d.rl.yaml +0 -4
  327. data/.data/spec/std/isa/inst/Zaamo/amominu.d.yaml +0 -4
  328. data/.data/spec/std/isa/inst/Zaamo/amominu.w.aq.yaml +1 -5
  329. data/.data/spec/std/isa/inst/Zaamo/amominu.w.aqrl.yaml +1 -5
  330. data/.data/spec/std/isa/inst/Zaamo/amominu.w.rl.yaml +1 -5
  331. data/.data/spec/std/isa/inst/Zaamo/amominu.w.yaml +1 -5
  332. data/.data/spec/std/isa/inst/Zaamo/amoor.SIZE.AQRL.layout +1 -5
  333. data/.data/spec/std/isa/inst/Zaamo/amoor.d.aq.yaml +0 -4
  334. data/.data/spec/std/isa/inst/Zaamo/amoor.d.aqrl.yaml +0 -4
  335. data/.data/spec/std/isa/inst/Zaamo/amoor.d.rl.yaml +0 -4
  336. data/.data/spec/std/isa/inst/Zaamo/amoor.d.yaml +0 -4
  337. data/.data/spec/std/isa/inst/Zaamo/amoor.w.aq.yaml +1 -5
  338. data/.data/spec/std/isa/inst/Zaamo/amoor.w.aqrl.yaml +1 -5
  339. data/.data/spec/std/isa/inst/Zaamo/amoor.w.rl.yaml +1 -5
  340. data/.data/spec/std/isa/inst/Zaamo/amoor.w.yaml +1 -5
  341. data/.data/spec/std/isa/inst/Zaamo/amoswap.SIZE.AQRL.layout +1 -5
  342. data/.data/spec/std/isa/inst/Zaamo/amoswap.d.aq.yaml +0 -4
  343. data/.data/spec/std/isa/inst/Zaamo/amoswap.d.aqrl.yaml +0 -4
  344. data/.data/spec/std/isa/inst/Zaamo/amoswap.d.rl.yaml +0 -4
  345. data/.data/spec/std/isa/inst/Zaamo/amoswap.d.yaml +0 -4
  346. data/.data/spec/std/isa/inst/Zaamo/amoswap.w.aq.yaml +1 -5
  347. data/.data/spec/std/isa/inst/Zaamo/amoswap.w.aqrl.yaml +1 -5
  348. data/.data/spec/std/isa/inst/Zaamo/amoswap.w.rl.yaml +1 -5
  349. data/.data/spec/std/isa/inst/Zaamo/amoswap.w.yaml +1 -5
  350. data/.data/spec/std/isa/inst/Zaamo/amoxor.SIZE.AQRL.layout +1 -5
  351. data/.data/spec/std/isa/inst/Zaamo/amoxor.d.aq.yaml +0 -4
  352. data/.data/spec/std/isa/inst/Zaamo/amoxor.d.aqrl.yaml +0 -4
  353. data/.data/spec/std/isa/inst/Zaamo/amoxor.d.rl.yaml +0 -4
  354. data/.data/spec/std/isa/inst/Zaamo/amoxor.d.yaml +0 -4
  355. data/.data/spec/std/isa/inst/Zaamo/amoxor.w.aq.yaml +1 -5
  356. data/.data/spec/std/isa/inst/Zaamo/amoxor.w.aqrl.yaml +1 -5
  357. data/.data/spec/std/isa/inst/Zaamo/amoxor.w.rl.yaml +1 -5
  358. data/.data/spec/std/isa/inst/Zaamo/amoxor.w.yaml +1 -5
  359. data/.data/spec/std/isa/inst/Zabha/amoadd.b.aq.yaml +1 -5
  360. data/.data/spec/std/isa/inst/Zabha/amoadd.b.aqrl.yaml +1 -5
  361. data/.data/spec/std/isa/inst/Zabha/amoadd.b.rl.yaml +1 -5
  362. data/.data/spec/std/isa/inst/Zabha/amoadd.b.yaml +1 -5
  363. data/.data/spec/std/isa/inst/Zabha/amoadd.h.aq.yaml +1 -5
  364. data/.data/spec/std/isa/inst/Zabha/amoadd.h.aqrl.yaml +1 -5
  365. data/.data/spec/std/isa/inst/Zabha/amoadd.h.rl.yaml +1 -5
  366. data/.data/spec/std/isa/inst/Zabha/amoadd.h.yaml +1 -5
  367. data/.data/spec/std/isa/inst/Zabha/amoand.b.aq.yaml +1 -5
  368. data/.data/spec/std/isa/inst/Zabha/amoand.b.aqrl.yaml +1 -5
  369. data/.data/spec/std/isa/inst/Zabha/amoand.b.rl.yaml +1 -5
  370. data/.data/spec/std/isa/inst/Zabha/amoand.b.yaml +1 -5
  371. data/.data/spec/std/isa/inst/Zabha/amoand.h.aq.yaml +1 -5
  372. data/.data/spec/std/isa/inst/Zabha/amoand.h.aqrl.yaml +1 -5
  373. data/.data/spec/std/isa/inst/Zabha/amoand.h.rl.yaml +1 -5
  374. data/.data/spec/std/isa/inst/Zabha/amoand.h.yaml +1 -5
  375. data/.data/spec/std/isa/inst/Zabha/amomax.b.aq.yaml +1 -5
  376. data/.data/spec/std/isa/inst/Zabha/amomax.b.aqrl.yaml +1 -5
  377. data/.data/spec/std/isa/inst/Zabha/amomax.b.rl.yaml +1 -5
  378. data/.data/spec/std/isa/inst/Zabha/amomax.b.yaml +1 -5
  379. data/.data/spec/std/isa/inst/Zabha/amomax.h.aq.yaml +1 -5
  380. data/.data/spec/std/isa/inst/Zabha/amomax.h.aqrl.yaml +1 -5
  381. data/.data/spec/std/isa/inst/Zabha/amomax.h.rl.yaml +1 -5
  382. data/.data/spec/std/isa/inst/Zabha/amomax.h.yaml +1 -5
  383. data/.data/spec/std/isa/inst/Zabha/amomaxu.b.aq.yaml +1 -5
  384. data/.data/spec/std/isa/inst/Zabha/amomaxu.b.aqrl.yaml +1 -5
  385. data/.data/spec/std/isa/inst/Zabha/amomaxu.b.rl.yaml +1 -5
  386. data/.data/spec/std/isa/inst/Zabha/amomaxu.b.yaml +1 -5
  387. data/.data/spec/std/isa/inst/Zabha/amomaxu.h.aq.yaml +1 -5
  388. data/.data/spec/std/isa/inst/Zabha/amomaxu.h.aqrl.yaml +1 -5
  389. data/.data/spec/std/isa/inst/Zabha/amomaxu.h.rl.yaml +1 -5
  390. data/.data/spec/std/isa/inst/Zabha/amomaxu.h.yaml +1 -5
  391. data/.data/spec/std/isa/inst/Zabha/amomin.b.aq.yaml +1 -5
  392. data/.data/spec/std/isa/inst/Zabha/amomin.b.aqrl.yaml +1 -5
  393. data/.data/spec/std/isa/inst/Zabha/amomin.b.rl.yaml +1 -5
  394. data/.data/spec/std/isa/inst/Zabha/amomin.b.yaml +1 -5
  395. data/.data/spec/std/isa/inst/Zabha/amomin.h.aq.yaml +1 -5
  396. data/.data/spec/std/isa/inst/Zabha/amomin.h.aqrl.yaml +1 -5
  397. data/.data/spec/std/isa/inst/Zabha/amomin.h.rl.yaml +1 -5
  398. data/.data/spec/std/isa/inst/Zabha/amomin.h.yaml +1 -5
  399. data/.data/spec/std/isa/inst/Zabha/amominu.b.aq.yaml +1 -5
  400. data/.data/spec/std/isa/inst/Zabha/amominu.b.aqrl.yaml +1 -5
  401. data/.data/spec/std/isa/inst/Zabha/amominu.b.rl.yaml +1 -5
  402. data/.data/spec/std/isa/inst/Zabha/amominu.b.yaml +1 -5
  403. data/.data/spec/std/isa/inst/Zabha/amominu.h.aq.yaml +1 -5
  404. data/.data/spec/std/isa/inst/Zabha/amominu.h.aqrl.yaml +1 -5
  405. data/.data/spec/std/isa/inst/Zabha/amominu.h.rl.yaml +1 -5
  406. data/.data/spec/std/isa/inst/Zabha/amominu.h.yaml +1 -5
  407. data/.data/spec/std/isa/inst/Zabha/amoor.b.aq.yaml +1 -5
  408. data/.data/spec/std/isa/inst/Zabha/amoor.b.aqrl.yaml +1 -5
  409. data/.data/spec/std/isa/inst/Zabha/amoor.b.rl.yaml +1 -5
  410. data/.data/spec/std/isa/inst/Zabha/amoor.b.yaml +1 -5
  411. data/.data/spec/std/isa/inst/Zabha/amoor.h.aq.yaml +1 -5
  412. data/.data/spec/std/isa/inst/Zabha/amoor.h.aqrl.yaml +1 -5
  413. data/.data/spec/std/isa/inst/Zabha/amoor.h.rl.yaml +1 -5
  414. data/.data/spec/std/isa/inst/Zabha/amoor.h.yaml +1 -5
  415. data/.data/spec/std/isa/inst/Zabha/amoswap.b.aq.yaml +1 -5
  416. data/.data/spec/std/isa/inst/Zabha/amoswap.b.aqrl.yaml +1 -5
  417. data/.data/spec/std/isa/inst/Zabha/amoswap.b.rl.yaml +1 -5
  418. data/.data/spec/std/isa/inst/Zabha/amoswap.b.yaml +1 -5
  419. data/.data/spec/std/isa/inst/Zabha/amoswap.h.aq.yaml +1 -5
  420. data/.data/spec/std/isa/inst/Zabha/amoswap.h.aqrl.yaml +1 -5
  421. data/.data/spec/std/isa/inst/Zabha/amoswap.h.rl.yaml +1 -5
  422. data/.data/spec/std/isa/inst/Zabha/amoswap.h.yaml +1 -5
  423. data/.data/spec/std/isa/inst/Zabha/amoxor.b.aq.yaml +1 -5
  424. data/.data/spec/std/isa/inst/Zabha/amoxor.b.aqrl.yaml +1 -5
  425. data/.data/spec/std/isa/inst/Zabha/amoxor.b.rl.yaml +1 -5
  426. data/.data/spec/std/isa/inst/Zabha/amoxor.b.yaml +1 -5
  427. data/.data/spec/std/isa/inst/Zabha/amoxor.h.aq.yaml +1 -5
  428. data/.data/spec/std/isa/inst/Zabha/amoxor.h.aqrl.yaml +1 -5
  429. data/.data/spec/std/isa/inst/Zabha/amoxor.h.rl.yaml +1 -5
  430. data/.data/spec/std/isa/inst/Zabha/amoxor.h.yaml +1 -5
  431. data/.data/spec/std/isa/inst/Zalrsc/lr.SIZE.AQRL.layout +1 -11
  432. data/.data/spec/std/isa/inst/Zalrsc/lr.d.aq.yaml +0 -6
  433. data/.data/spec/std/isa/inst/Zalrsc/lr.d.aqrl.yaml +0 -6
  434. data/.data/spec/std/isa/inst/Zalrsc/lr.d.rl.yaml +0 -6
  435. data/.data/spec/std/isa/inst/Zalrsc/lr.d.yaml +0 -6
  436. data/.data/spec/std/isa/inst/Zalrsc/lr.w.aq.yaml +1 -11
  437. data/.data/spec/std/isa/inst/Zalrsc/lr.w.aqrl.yaml +1 -11
  438. data/.data/spec/std/isa/inst/Zalrsc/lr.w.rl.yaml +1 -11
  439. data/.data/spec/std/isa/inst/Zalrsc/lr.w.yaml +1 -11
  440. data/.data/spec/std/isa/inst/Zalrsc/sc.SIZE.AQRL.layout +4 -10
  441. data/.data/spec/std/isa/inst/Zalrsc/sc.d.aq.yaml +4 -10
  442. data/.data/spec/std/isa/inst/Zalrsc/sc.d.aqrl.yaml +4 -10
  443. data/.data/spec/std/isa/inst/Zalrsc/sc.d.rl.yaml +4 -10
  444. data/.data/spec/std/isa/inst/Zalrsc/sc.d.yaml +4 -10
  445. data/.data/spec/std/isa/inst/Zalrsc/sc.w.aq.yaml +4 -10
  446. data/.data/spec/std/isa/inst/Zalrsc/sc.w.aqrl.yaml +4 -10
  447. data/.data/spec/std/isa/inst/Zalrsc/sc.w.rl.yaml +4 -10
  448. data/.data/spec/std/isa/inst/Zalrsc/sc.w.yaml +4 -10
  449. data/.data/spec/std/isa/inst/Zba/add.uw.yaml +0 -4
  450. data/.data/spec/std/isa/inst/Zba/sh1add.uw.yaml +0 -4
  451. data/.data/spec/std/isa/inst/Zba/sh1add.yaml +0 -4
  452. data/.data/spec/std/isa/inst/Zba/sh2add.uw.yaml +0 -4
  453. data/.data/spec/std/isa/inst/Zba/sh2add.yaml +0 -4
  454. data/.data/spec/std/isa/inst/Zba/sh3add.uw.yaml +0 -4
  455. data/.data/spec/std/isa/inst/Zba/sh3add.yaml +0 -4
  456. data/.data/spec/std/isa/inst/Zba/slli.uw.yaml +0 -4
  457. data/.data/spec/std/isa/inst/Zbb/clz.yaml +0 -4
  458. data/.data/spec/std/isa/inst/Zbb/clzw.yaml +0 -4
  459. data/.data/spec/std/isa/inst/Zbb/cpop.yaml +0 -4
  460. data/.data/spec/std/isa/inst/Zbb/cpopw.yaml +0 -4
  461. data/.data/spec/std/isa/inst/Zbb/ctz.yaml +0 -4
  462. data/.data/spec/std/isa/inst/Zbb/ctzw.yaml +0 -4
  463. data/.data/spec/std/isa/inst/Zbb/max.yaml +0 -4
  464. data/.data/spec/std/isa/inst/Zbb/maxu.yaml +0 -4
  465. data/.data/spec/std/isa/inst/Zbb/min.yaml +0 -4
  466. data/.data/spec/std/isa/inst/Zbb/minu.yaml +0 -4
  467. data/.data/spec/std/isa/inst/Zbb/orc.b.yaml +0 -4
  468. data/.data/spec/std/isa/inst/Zbb/sext.b.yaml +0 -4
  469. data/.data/spec/std/isa/inst/Zbb/sext.h.yaml +0 -4
  470. data/.data/spec/std/isa/inst/Zbb/zext.h.yaml +0 -4
  471. data/.data/spec/std/isa/inst/Zbc/clmulr.yaml +0 -4
  472. data/.data/spec/std/isa/inst/{B → Zbkc}/clmul.yaml +1 -7
  473. data/.data/spec/std/isa/inst/{B → Zbkc}/clmulh.yaml +1 -7
  474. data/.data/spec/std/isa/inst/Zbs/bclr.yaml +0 -4
  475. data/.data/spec/std/isa/inst/Zbs/bclri.yaml +0 -4
  476. data/.data/spec/std/isa/inst/Zbs/bext.yaml +0 -4
  477. data/.data/spec/std/isa/inst/Zbs/bexti.yaml +0 -4
  478. data/.data/spec/std/isa/inst/Zbs/binv.yaml +0 -4
  479. data/.data/spec/std/isa/inst/Zbs/binvi.yaml +0 -4
  480. data/.data/spec/std/isa/inst/Zbs/bset.yaml +0 -4
  481. data/.data/spec/std/isa/inst/Zbs/bseti.yaml +0 -4
  482. data/.data/spec/std/isa/inst/Zcb/c.lbu.yaml +2 -2
  483. data/.data/spec/std/isa/inst/Zcb/c.lh.yaml +2 -2
  484. data/.data/spec/std/isa/inst/Zcb/c.lhu.yaml +2 -2
  485. data/.data/spec/std/isa/inst/Zcb/c.mul.yaml +2 -6
  486. data/.data/spec/std/isa/inst/Zcb/c.not.yaml +2 -2
  487. data/.data/spec/std/isa/inst/Zcb/c.sb.yaml +2 -2
  488. data/.data/spec/std/isa/inst/Zcb/c.sext.b.yaml +2 -6
  489. data/.data/spec/std/isa/inst/Zcb/c.sext.h.yaml +2 -6
  490. data/.data/spec/std/isa/inst/Zcb/c.sh.yaml +2 -2
  491. data/.data/spec/std/isa/inst/Zcb/c.zext.b.yaml +2 -2
  492. data/.data/spec/std/isa/inst/Zcb/c.zext.h.yaml +2 -6
  493. data/.data/spec/std/isa/inst/Zcb/c.zext.w.yaml +2 -6
  494. data/.data/spec/std/isa/inst/Zcd/c.fld.yaml +3 -3
  495. data/.data/spec/std/isa/inst/Zcd/c.fldsp.yaml +4 -4
  496. data/.data/spec/std/isa/inst/Zcd/c.fsd.yaml +3 -3
  497. data/.data/spec/std/isa/inst/Zcd/c.fsdsp.yaml +4 -4
  498. data/.data/spec/std/isa/inst/Zcf/c.flw.yaml +3 -3
  499. data/.data/spec/std/isa/inst/Zcf/c.flwsp.yaml +4 -4
  500. data/.data/spec/std/isa/inst/Zcf/c.fsw.yaml +3 -3
  501. data/.data/spec/std/isa/inst/Zcf/c.fswsp.yaml +4 -4
  502. data/.data/spec/std/isa/inst/Zcmp/cm.mva01s.yaml +2 -2
  503. data/.data/spec/std/isa/inst/Zcmp/cm.mvsa01.yaml +2 -2
  504. data/.data/spec/std/isa/inst/Zcmp/cm.pop.yaml +2 -2
  505. data/.data/spec/std/isa/inst/Zcmp/cm.popret.yaml +2 -2
  506. data/.data/spec/std/isa/inst/Zcmp/cm.popretz.yaml +2 -2
  507. data/.data/spec/std/isa/inst/Zcmp/cm.push.yaml +2 -2
  508. data/.data/spec/std/isa/inst/Zicbom/cbo.clean.yaml +2 -2
  509. data/.data/spec/std/isa/inst/Zicbom/cbo.flush.yaml +2 -2
  510. data/.data/spec/std/isa/inst/Zicbom/cbo.inval.yaml +2 -2
  511. data/.data/spec/std/isa/inst/Zicboz/cbo.zero.yaml +2 -2
  512. data/.data/spec/std/isa/inst/Zvfbfmin/vfncvtbf16.f.f.w.yaml +3 -1
  513. data/.data/spec/std/isa/inst/Zvfbfmin/vfwcvtbf16.f.f.v.yaml +3 -1
  514. data/.data/spec/std/isa/inst/Zvfofp4min/vfext.vf2.yaml +35 -0
  515. data/.data/spec/std/isa/inst/Zvfofp8min/vfncvt.f.f.q.yaml +31 -0
  516. data/.data/spec/std/isa/inst/Zvfofp8min/vfncvt.sat.f.f.q.yaml +32 -0
  517. data/.data/spec/std/isa/inst/Zvfofp8min/vfncvtbf16.sat.f.f.w.yaml +32 -0
  518. data/.data/spec/std/isa/isa/builtin_functions.idl +3 -1
  519. data/.data/spec/std/isa/isa/util.idl +1 -0
  520. data/.data/spec/std/isa/param/COUNTINHIBIT_EN.yaml +2 -10
  521. data/.data/spec/std/isa/param/HCOUNTENABLE_EN.yaml +2 -5
  522. data/.data/spec/std/isa/param/HPM_COUNTER10_WIDTH.yaml +29 -0
  523. data/.data/spec/std/isa/param/HPM_COUNTER11_WIDTH.yaml +29 -0
  524. data/.data/spec/std/isa/param/HPM_COUNTER12_WIDTH.yaml +29 -0
  525. data/.data/spec/std/isa/param/HPM_COUNTER13_WIDTH.yaml +29 -0
  526. data/.data/spec/std/isa/param/HPM_COUNTER14_WIDTH.yaml +29 -0
  527. data/.data/spec/std/isa/param/HPM_COUNTER15_WIDTH.yaml +29 -0
  528. data/.data/spec/std/isa/param/HPM_COUNTER16_WIDTH.yaml +29 -0
  529. data/.data/spec/std/isa/param/HPM_COUNTER17_WIDTH.yaml +29 -0
  530. data/.data/spec/std/isa/param/HPM_COUNTER18_WIDTH.yaml +29 -0
  531. data/.data/spec/std/isa/param/HPM_COUNTER19_WIDTH.yaml +29 -0
  532. data/.data/spec/std/isa/param/HPM_COUNTER20_WIDTH.yaml +29 -0
  533. data/.data/spec/std/isa/param/HPM_COUNTER21_WIDTH.yaml +29 -0
  534. data/.data/spec/std/isa/param/HPM_COUNTER22_WIDTH.yaml +29 -0
  535. data/.data/spec/std/isa/param/HPM_COUNTER23_WIDTH.yaml +29 -0
  536. data/.data/spec/std/isa/param/HPM_COUNTER24_WIDTH.yaml +29 -0
  537. data/.data/spec/std/isa/param/HPM_COUNTER25_WIDTH.yaml +29 -0
  538. data/.data/spec/std/isa/param/HPM_COUNTER26_WIDTH.yaml +29 -0
  539. data/.data/spec/std/isa/param/HPM_COUNTER27_WIDTH.yaml +29 -0
  540. data/.data/spec/std/isa/param/HPM_COUNTER28_WIDTH.yaml +29 -0
  541. data/.data/spec/std/isa/param/HPM_COUNTER29_WIDTH.yaml +29 -0
  542. data/.data/spec/std/isa/param/HPM_COUNTER30_WIDTH.yaml +29 -0
  543. data/.data/spec/std/isa/param/HPM_COUNTER31_WIDTH.yaml +29 -0
  544. data/.data/spec/std/isa/param/HPM_COUNTER3_WIDTH.yaml +29 -0
  545. data/.data/spec/std/isa/param/HPM_COUNTER4_WIDTH.yaml +29 -0
  546. data/.data/spec/std/isa/param/HPM_COUNTER5_WIDTH.yaml +29 -0
  547. data/.data/spec/std/isa/param/HPM_COUNTER6_WIDTH.yaml +29 -0
  548. data/.data/spec/std/isa/param/HPM_COUNTER7_WIDTH.yaml +29 -0
  549. data/.data/spec/std/isa/param/HPM_COUNTER8_WIDTH.yaml +29 -0
  550. data/.data/spec/std/isa/param/HPM_COUNTER9_WIDTH.yaml +29 -0
  551. data/.data/spec/std/isa/param/HPM_COUNTERN_WIDTH.layout +27 -0
  552. data/.data/spec/std/isa/param/HW_MSTATUS_FS_DIRTY_UPDATE.yaml +2 -4
  553. data/.data/spec/std/isa/param/HW_MSTATUS_VS_DIRTY_UPDATE.yaml +2 -4
  554. data/.data/spec/std/isa/param/LRSC_FAIL_ON_NON_EXACT_LRSC.yaml +1 -1
  555. data/.data/spec/std/isa/param/LRSC_FAIL_ON_VA_SYNONYM.yaml +1 -1
  556. data/.data/spec/std/isa/param/LRSC_MISALIGNED_BEHAVIOR.yaml +4 -4
  557. data/.data/spec/std/isa/param/LRSC_RESERVATION_STRATEGY.yaml +1 -1
  558. data/.data/spec/std/isa/param/MCOUNTENABLE_EN.yaml +2 -5
  559. data/.data/spec/std/isa/param/MEI_INTR_IMPL.yaml +28 -0
  560. data/.data/spec/std/isa/param/MSI_INTR_IMPL.yaml +28 -0
  561. data/.data/spec/std/isa/param/MSTATUS_FS_LEGAL_VALUES.yaml +8 -15
  562. data/.data/spec/std/isa/param/MSTATUS_VS_LEGAL_VALUES.yaml +7 -15
  563. data/.data/spec/std/isa/param/MTI_INTR_IMPL.yaml +28 -0
  564. data/.data/spec/std/isa/param/MTVAL_WIDTH.yaml +17 -5
  565. data/.data/spec/std/isa/param/MUTABLE_MISA_A.yaml +1 -1
  566. data/.data/spec/std/isa/param/MUTABLE_MISA_B.yaml +1 -1
  567. data/.data/spec/std/isa/param/MUTABLE_MISA_C.yaml +1 -1
  568. data/.data/spec/std/isa/param/MUTABLE_MISA_D.yaml +1 -1
  569. data/.data/spec/std/isa/param/MUTABLE_MISA_F.yaml +1 -1
  570. data/.data/spec/std/isa/param/MUTABLE_MISA_M.yaml +1 -1
  571. data/.data/spec/std/isa/param/MUTABLE_MISA_Q.yaml +1 -1
  572. data/.data/spec/std/isa/param/MUTABLE_MISA_U.yaml +1 -1
  573. data/.data/spec/std/isa/param/MUTABLE_MISA_V.yaml +1 -1
  574. data/.data/spec/std/isa/param/{PMLEN.yaml → NON_STANDARD_EXTENSION_IMPLEMENTED.yaml} +6 -9
  575. data/.data/spec/std/isa/param/NUM_EXTERNAL_GUEST_INTERRUPTS.yaml +1 -1
  576. data/.data/spec/std/isa/param/NUM_PMP_ENTRIES.yaml +1 -1
  577. data/.data/spec/std/isa/param/REPORT_CAUSE_IN_MTVAL_ON_LANDING_PAD_SOFTWARE_CHECK.yaml +1 -1
  578. data/.data/spec/std/isa/param/REPORT_CAUSE_IN_STVAL_ON_LANDING_PAD_SOFTWARE_CHECK.yaml +1 -1
  579. data/.data/spec/std/isa/param/REPORT_CAUSE_IN_VSTVAL_ON_LANDING_PAD_SOFTWARE_CHECK.yaml +1 -1
  580. data/.data/spec/std/isa/param/SCOUNTENABLE_EN.yaml +2 -6
  581. data/.data/spec/std/isa/param/SCTRDEPTH_DEPTH_LEGAL_VALUES.yaml +27 -0
  582. data/.data/spec/std/isa/param/SEI_INTR_IMPL.yaml +28 -0
  583. data/.data/spec/std/isa/param/SSI_INTR_IMPL.yaml +28 -0
  584. data/.data/spec/std/isa/param/STI_INTR_IMPL.yaml +33 -0
  585. data/.data/spec/std/isa/param/STVAL_WIDTH.yaml +81 -0
  586. data/.data/spec/std/isa/param/SUPPORTED_PMLEN_SMMPM.yaml +40 -0
  587. data/.data/spec/std/isa/param/SUPPORTED_PMLEN_SMNPM.yaml +42 -0
  588. data/.data/spec/std/isa/param/SUPPORTED_PMLEN_SSNPM.yaml +42 -0
  589. data/.data/spec/std/isa/param/TRAP_ON_ECALL_FROM_S.yaml +1 -1
  590. data/.data/spec/std/isa/param/TRAP_ON_ECALL_FROM_U.yaml +1 -1
  591. data/.data/spec/std/isa/param/TRAP_ON_ECALL_FROM_VS.yaml +1 -1
  592. data/.data/spec/std/isa/param/TRAP_ON_SFENCE_VMA_WHEN_SATP_MODE_IS_READ_ONLY.yaml +1 -1
  593. data/.data/spec/std/isa/param/VSEI_INTR_IMPL.yaml +28 -0
  594. data/.data/spec/std/isa/param/VSSI_INTR_IMPL.yaml +28 -0
  595. data/.data/spec/std/isa/param/VSTI_INTR_IMPL.yaml +33 -0
  596. data/.data/spec/std/isa/param/WFI_FINITE.yaml +20 -0
  597. data/.data/spec/std/isa/param/WFI_U_MODE.yaml +20 -0
  598. data/lib/udb/Z3_VERSION +1 -1
  599. data/lib/udb/log.rb +16 -0
  600. data/lib/udb/obj/csr.rb +38 -45
  601. data/lib/udb/obj/database_obj.rb +1 -1
  602. data/lib/udb/obj/exception_code.rb +3 -3
  603. data/lib/udb/version.rb +1 -1
  604. metadata +79 -10
@@ -11,7 +11,7 @@ description: |
11
11
 
12
12
  The spec states that implementations may handle ECALLs transparently
13
13
  without raising a trap, in which case the EEI must provide a builtin.
14
- long_name: TODO
14
+ long_name: "Trap on ECALL from VS-mode"
15
15
  schema:
16
16
  type: boolean
17
17
  default: true
@@ -17,7 +17,7 @@ description: |
17
17
 
18
18
  TRAP_ON_SFENCE_VMA_WHEN_SATP_MODE_IS_READ_ONLY has no effect when
19
19
  some virtual translation mode is supported.
20
- long_name: TODO
20
+ long_name: "Trap on SFENCE.VMA when satp.MODE is read-only"
21
21
  schema:
22
22
  type: boolean
23
23
  default: false
@@ -0,0 +1,28 @@
1
+ # Copyright (C) Qualcomm Technologies, Inc. and/or its subsidiaries.
2
+ # SPDX-License-Identifier: BSD-3-Clause-Clear
3
+
4
+ # yaml-language-server: $schema=../../../schemas/param_schema.json
5
+
6
+ $schema: param_schema.json#
7
+ kind: parameter
8
+ name: VSEI_INTR_IMPL
9
+ description: |
10
+ Whether or not virtual supervisor-level external interrupts are implemented.
11
+
12
+ Possible values:
13
+
14
+ true::
15
+ Virtual supervisor-level external interrupts are implemented.
16
+ `mie.VSEIE` and `mideleg.VSEI` are writable.
17
+
18
+ false::
19
+ Virtual supervisor-level external interrupts are not implemented.
20
+ `mie.VSEIE`, `mip.VSEIP`, and `mideleg.VSEI` are read-only zero.
21
+ long_name: Virtual supervisor-level external interrupts are implemented
22
+ schema:
23
+ type: boolean
24
+ definedBy:
25
+ extension:
26
+ allOf:
27
+ - name: Zicsr
28
+ - name: H
@@ -0,0 +1,28 @@
1
+ # Copyright (C) Qualcomm Technologies, Inc. and/or its subsidiaries.
2
+ # SPDX-License-Identifier: BSD-3-Clause-Clear
3
+
4
+ # yaml-language-server: $schema=../../../schemas/param_schema.json
5
+
6
+ $schema: param_schema.json#
7
+ kind: parameter
8
+ name: VSSI_INTR_IMPL
9
+ description: |
10
+ Whether or not virtual supervisor-level software interrupts are implemented.
11
+
12
+ Possible values:
13
+
14
+ true::
15
+ Virtual supervisor-level software interrupts are implemented.
16
+ `mie.VSSIE` and `mideleg.VSSI` are writable.
17
+
18
+ false::
19
+ Virtual supervisor-level software interrupts are not implemented.
20
+ `mie.VSSIE`, `mip.VSSIP`, and `mideleg.VSSI` are read-only zero.
21
+ long_name: Virtual supervisor-level software interrupts are implemented
22
+ schema:
23
+ type: boolean
24
+ definedBy:
25
+ extension:
26
+ allOf:
27
+ - name: Zicsr
28
+ - name: H
@@ -0,0 +1,33 @@
1
+ # Copyright (C) Qualcomm Technologies, Inc. and/or its subsidiaries.
2
+ # SPDX-License-Identifier: BSD-3-Clause-Clear
3
+
4
+ # yaml-language-server: $schema=../../../schemas/param_schema.json
5
+
6
+ $schema: param_schema.json#
7
+ kind: parameter
8
+ name: VSTI_INTR_IMPL
9
+ description: |
10
+ Whether or not virtual supervisor-level timer interrupts are implemented.
11
+ If Sstc is implemented, then VSTI_INTR_IMPL must be true.
12
+
13
+ Possible values:
14
+
15
+ true::
16
+ Virtual supervisor-level timer interrupts are implemented.
17
+ `mie.VSTIE` and `mdeleg.VSTI` are writable.
18
+
19
+ false::
20
+ Virtual supervisor-level timer interrupts are not implemented.
21
+ `mie.VSTIE`, `mip.VSTIP`, and and `mdeleg.VSTI` are read-only zero.
22
+ long_name: Virtual supervisor-level timer interrupts are implemented.
23
+ schema:
24
+ type: boolean
25
+ requirements:
26
+ idl(): |
27
+ implemented?(ExtensionName::Sstc) -> VSTI_INTR_IMPL;
28
+ reason: "When the Sstc extension is implemented, VSTIP reflects the timer interrupt signal resulting from `vstimecmp`."
29
+ definedBy:
30
+ extension:
31
+ allOf:
32
+ - name: Zicsr
33
+ - name: H
@@ -0,0 +1,20 @@
1
+ # Copyright (c) 2026 Neel Kumar
2
+ # SPDX-License-Identifier: BSD-3-Clause-Clear
3
+
4
+ # yaml-language-server: $schema=../../../schemas/param_schema.json
5
+
6
+ $schema: param_schema.json#
7
+ kind: parameter
8
+ name: WFI_FINITE
9
+ long_name: |
10
+ Whether WFI resumes execution after a finite amount of time
11
+ definedBy:
12
+ extension:
13
+ name: Sm
14
+ description: |
15
+ Options:
16
+
17
+ * true: WFI resumes execution after waiting for a finite amount of time
18
+ * false: WFI may continue waiting until another event causes execution to resume
19
+ schema:
20
+ type: boolean
@@ -0,0 +1,20 @@
1
+ # Copyright (c) 2026 Neel Kumar
2
+ # SPDX-License-Identifier: BSD-3-Clause-Clear
3
+
4
+ # yaml-language-server: $schema=../../../schemas/param_schema.json
5
+
6
+ $schema: param_schema.json#
7
+ kind: parameter
8
+ name: WFI_U_MODE
9
+ long_name: |
10
+ Whether WFI is supported in U mode
11
+ definedBy:
12
+ extension:
13
+ name: Sm
14
+ description: |
15
+ Options:
16
+
17
+ * true: WFI can be executed in U mode
18
+ * false: Executing WFI in U mode raises an illegal instruction exception
19
+ schema:
20
+ type: boolean
data/lib/udb/Z3_VERSION CHANGED
@@ -1 +1 @@
1
- z3-5.0.0
1
+ z3-5.1.0
data/lib/udb/log.rb CHANGED
@@ -132,6 +132,8 @@ module Udb
132
132
 
133
133
  sig { params(fmt: String, options: T.untyped).returns(T.any(TTY::ProgressBar, DummyProgressBar)) }
134
134
  def self.create_progressbar(fmt, **options)
135
+ fmt = progressbar_format_for_terminal(fmt, **options)
136
+
135
137
  if @top_level_progressbar.nil?
136
138
 
137
139
  target_level = options.key?(:level) ? LogLevel.deserialize(options[:level].to_s) : LogLevel::Info
@@ -144,4 +146,18 @@ module Udb
144
146
  @top_level_progressbar.register(fmt, **options)
145
147
  end
146
148
  end
149
+
150
+ sig { params(fmt: String, options: T.untyped).returns(String) }
151
+ def self.progressbar_format_for_terminal(fmt, **options)
152
+ return fmt unless fmt.match?(/:bar/i)
153
+ return fmt unless options[:total].nil?
154
+
155
+ inset = options.fetch(:inset, 0).to_i
156
+ without_bar = fmt.gsub(/:bar/i, "")
157
+ available_space = TTY::ProgressBar.max_columns - TTY::ProgressBar.display_columns(without_bar) - inset
158
+ return fmt if available_space >= 1
159
+
160
+ fmt.gsub(/\s*\[:bar\]\s*/i, " ").gsub(/\s*:bar\s*/i, " ").squeeze(" ").strip
161
+ end
162
+ private_class_method :progressbar_format_for_terminal
147
163
  end
data/lib/udb/obj/csr.rb CHANGED
@@ -20,6 +20,17 @@ module Udb
20
20
  BITS6_CONST_TYPE = Idl::Type.new(:bits, width: 6, qualifiers: [:const]).freeze
21
21
  BITS128_TYPE = Idl::Type.new(:bits, width: 128).freeze
22
22
  ENCODING_SIZE_VAR = Idl::Var.new("__instruction_encoding_size", BITS6_TYPE, 32).freeze
23
+ # Privilege mode => IDL expression naming the field that selects the effective
24
+ # XLEN in that mode. Debug mode executes at MXLEN, so it shares M-mode's field.
25
+ MODE_TO_XLEN_FIELD = {
26
+ "M" => "CSR[misa].MXL",
27
+ "D" => "CSR[misa].MXL",
28
+ "S" => "CSR[mstatus].SXL",
29
+ "U" => "CSR[mstatus].UXL",
30
+ "VS" => "CSR[hstatus].VSXL",
31
+ "VU" => "CSR[vsstatus].UXL"
32
+ }.freeze
33
+ XLEN_TO_ENCODING = { 32 => 0, 64 => 1 }.freeze
23
34
  # Add all methods in this module to this type of database object.
24
35
  include HasFields
25
36
 
@@ -193,14 +204,7 @@ module Udb
193
204
  # dynamic if either we don't know VSXLEN or VSXLEN is explicitly mutable
194
205
  !cfg_arch.param_values.key?("VSXLEN") || cfg_arch.param_values["VSXLEN"].size > 1
195
206
  when "XLEN"
196
- # must always have M-mode
197
- # SXLEN condition applies if S-mode is possible
198
- # VSXLEN condition applies if VS-mode is possible
199
- (cfg_arch.mxlen.nil?) || \
200
- (cfg_arch.possible_extensions.map(&:name).include?("S") && \
201
- (cfg_arch.param_values["SXLEN"].nil? || cfg_arch.param_values["SXLEN"].size > 1)) || \
202
- (cfg_arch.possible_extensions.map(&:name).include?("H") && \
203
- (cfg_arch.param_values["VSXLEN"].nil? || cfg_arch.param_values["VSXLEN"].size > 1))
207
+ modes_with_dynamic_xlen.any?
204
208
  else
205
209
  raise "Unexpected length"
206
210
  end
@@ -299,7 +303,7 @@ module Udb
299
303
  64
300
304
  end
301
305
  when "XLEN"
302
- if cfg_arch.possible_extensions.map(&:name).include?("M")
306
+ if cfg_arch.possible_extensions.map(&:name).include?("Sm")
303
307
  cfg_arch.mxlen || 64
304
308
  elsif cfg_arch.possible_extensions.map(&:name).include?("S")
305
309
  if cfg_arch.param_values.key?("SXLEN")
@@ -341,61 +345,50 @@ module Udb
341
345
  end
342
346
  end
343
347
 
344
- # @return [String] IDL condition of when the effective xlen is 32
345
- def length_cond32
348
+ # @return [Array<String>] Modes with access to this CSR whose effective XLEN can
349
+ # vary in this configuration
350
+ def modes_with_dynamic_xlen
351
+ modes_with_access.select { |mode| cfg_arch.multi_xlen_in_mode?(mode) }
352
+ end
353
+
354
+ # @param xlen [Integer] 32 or 64
355
+ # @return [String] IDL condition of when the effective xlen is +xlen+
356
+ def length_cond(xlen)
357
+ encoding = XLEN_TO_ENCODING.fetch(xlen)
346
358
  case @data["length"]
347
359
  when "MXLEN"
348
- "CSR[misa].MXL == 0"
360
+ "#{MODE_TO_XLEN_FIELD['M']} == #{encoding}"
349
361
  when "SXLEN"
350
- "CSR[mstatus].SXL == 0"
362
+ "#{MODE_TO_XLEN_FIELD['S']} == #{encoding}"
351
363
  when "VSXLEN"
352
- "CSR[hstatus].VSXL == 0"
364
+ "#{MODE_TO_XLEN_FIELD['VS']} == #{encoding}"
353
365
  when "XLEN"
354
- "(priv_mode() == PrivilegeMode::M && CSR[misa].MXL == 0) || (priv_mode() == PrivilegeMode::S && CSR[mstatus].SXL == 0) || (priv_mode() == PrivilegeMode::VS && CSR[hstatus].VSXL == 0)"
366
+ modes = modes_with_dynamic_xlen
367
+ raise "No mode with access to #{name} has a dynamic XLEN" if modes.empty?
368
+
369
+ modes.map { |mode|
370
+ "(priv_mode() == PrivilegeMode::#{mode} && #{MODE_TO_XLEN_FIELD.fetch(mode)} == #{encoding})"
371
+ }.join(" || ")
355
372
  else
356
373
  raise "Unexpected length #{@data['length']} for #{name}"
357
374
  end
358
375
  end
359
376
 
377
+ # @return [String] IDL condition of when the effective xlen is 32
378
+ def length_cond32 = length_cond(32)
379
+
360
380
  # @return [String] IDL condition of when the effective xlen is 64
361
- def length_cond64
362
- case @data["length"]
363
- when "MXLEN"
364
- "CSR[misa].MXL == 1"
365
- when "SXLEN"
366
- "CSR[mstatus].SXL == 1"
367
- when "VSXLEN"
368
- "CSR[hstatus].VSXL == 1"
369
- when "XLEN"
370
- "(priv_mode() == PrivilegeMode::M && CSR[misa].MXL == 1) || (priv_mode() == PrivilegeMode::S && CSR[mstatus].SXL == 1) || (priv_mode() == PrivilegeMode::VS && CSR[hstatus].VSXL == 1)"
371
- else
372
- raise "Unexpected length"
373
- end
374
- end
381
+ def length_cond64 = length_cond(64)
375
382
 
376
383
  # @param effective_xlen [Integer or nil] 32 or 64 for fixed xlen, nil for dynamic
377
384
  # @return [String] Pretty-printed length string
378
385
  def length_pretty(effective_xlen = nil)
379
386
  raise ArgumentError, "effective_xlen is non-nil and is a #{effective_xlen.class} but must be an Integer" unless effective_xlen.nil? || effective_xlen.is_a?(Integer)
380
387
  if dynamic_length?
381
- cond =
382
- case @data["length"]
383
- when "MXLEN"
384
- "CSR[misa].MXL == %%"
385
- when "SXLEN"
386
- "CSR[mstatus].SXL == %%"
387
- when "VSXLEN"
388
- "CSR[hstatus].VSXL == %%"
389
- when "XLEN"
390
- "(priv_mode() == PrivilegeMode::M && CSR[misa].MXL == %%) || (priv_mode() == PrivilegeMode::S && CSR[mstatus].SXL == %%) || (priv_mode() == PrivilegeMode::VS && CSR[hstatus].VSXL == %%)"
391
- else
392
- raise "Unexpected length '#{@data['length']}'"
393
- end
394
-
395
388
  if effective_xlen.nil?
396
389
  [
397
- "* #{length(32)} when #{cond.sub('%%', '0')}",
398
- "* #{length(64)} when #{cond.sub('%%', '1')}"
390
+ "* #{length(32)} when #{length_cond(32)}",
391
+ "* #{length(64)} when #{length_cond(64)}"
399
392
  ].join("\n")
400
393
  else
401
394
  "#{length(effective_xlen)}-bit"
@@ -115,7 +115,7 @@ module Udb
115
115
  sig { override.params(other: T.untyped).returns(T.nilable(Integer)) }
116
116
  def <=>(other)
117
117
  return nil unless other.is_a?(DatabaseObject)
118
- return nil unless @Kind == other.kind
118
+ return nil unless kind == other.kind
119
119
 
120
120
  @name <=> other.name
121
121
  end
@@ -82,9 +82,9 @@ module Udb
82
82
 
83
83
  sig { override.params(other: BasicObject).returns(T.nilable(Integer)) }
84
84
  def <=>(other)
85
- return nil unless T.cast(other, Object).is_a?(ExceptionCode)
85
+ return nil unless T.cast(other, Object).is_a?(InterruptCode)
86
86
 
87
- num <=> T.cast(other, ExceptionCode).num
87
+ num <=> T.cast(other, InterruptCode).num
88
88
  end
89
89
 
90
90
  sig { override.params(other: BasicObject).returns(T::Boolean) }
@@ -93,6 +93,6 @@ module Udb
93
93
  end
94
94
 
95
95
  sig { override.returns(Integer) }
96
- def hash = [ExceptionCode, num].hash
96
+ def hash = [InterruptCode, num].hash
97
97
  end
98
98
  end
data/lib/udb/version.rb CHANGED
@@ -5,5 +5,5 @@
5
5
  # frozen_string_literal: true
6
6
 
7
7
  module Udb
8
- def self.version = "0.1.16"
8
+ def self.version = "0.1.17"
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: udb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.16
4
+ version: 0.1.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Derek Hower
8
8
  - James Ball
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-08-15 00:00:00.000000000 Z
11
+ date: 2026-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 0.1.7
75
+ version: 0.1.8
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - '='
81
81
  - !ruby/object:Gem::Version
82
- version: 0.1.7
82
+ version: 0.1.8
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: json_schemer
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -254,14 +254,14 @@ dependencies:
254
254
  requirements:
255
255
  - - '='
256
256
  - !ruby/object:Gem::Version
257
- version: 0.1.3
257
+ version: 0.1.4
258
258
  type: :runtime
259
259
  prerelease: false
260
260
  version_requirements: !ruby/object:Gem::Requirement
261
261
  requirements:
262
262
  - - '='
263
263
  - !ruby/object:Gem::Version
264
- version: 0.1.3
264
+ version: 0.1.4
265
265
  - !ruby/object:Gem::Dependency
266
266
  name: z3
267
267
  requirement: !ruby/object:Gem::Requirement
@@ -774,13 +774,22 @@ files:
774
774
  - ".data/spec/std/isa/csr/H/henvcfg.yaml"
775
775
  - ".data/spec/std/isa/csr/H/henvcfgh.yaml"
776
776
  - ".data/spec/std/isa/csr/H/hgatp.yaml"
777
+ - ".data/spec/std/isa/csr/H/hgeie.yaml"
778
+ - ".data/spec/std/isa/csr/H/hgeip.yaml"
779
+ - ".data/spec/std/isa/csr/H/hideleg.yaml"
780
+ - ".data/spec/std/isa/csr/H/hie.yaml"
781
+ - ".data/spec/std/isa/csr/H/hip.yaml"
777
782
  - ".data/spec/std/isa/csr/H/htimedelta.yaml"
778
783
  - ".data/spec/std/isa/csr/H/htimedeltah.yaml"
779
784
  - ".data/spec/std/isa/csr/H/htinst.yaml"
780
785
  - ".data/spec/std/isa/csr/H/htval.yaml"
786
+ - ".data/spec/std/isa/csr/H/hvip.yaml"
781
787
  - ".data/spec/std/isa/csr/H/mtinst.yaml"
782
788
  - ".data/spec/std/isa/csr/H/mtval2.yaml"
783
789
  - ".data/spec/std/isa/csr/H/vsatp.yaml"
790
+ - ".data/spec/std/isa/csr/H/vsie.yaml"
791
+ - ".data/spec/std/isa/csr/H/vsip.yaml"
792
+ - ".data/spec/std/isa/csr/H/vsscratch.yaml"
784
793
  - ".data/spec/std/isa/csr/I/mcounteren.layout"
785
794
  - ".data/spec/std/isa/csr/I/mcounteren.yaml"
786
795
  - ".data/spec/std/isa/csr/I/pmpaddr0.yaml"
@@ -894,6 +903,8 @@ files:
894
903
  - ".data/spec/std/isa/csr/Smcsrind/vsiselect.yaml"
895
904
  - ".data/spec/std/isa/csr/Smctr/mctrctl.yaml"
896
905
  - ".data/spec/std/isa/csr/Smctr/sctrctl.yaml"
906
+ - ".data/spec/std/isa/csr/Smctr/sctrdepth.yaml"
907
+ - ".data/spec/std/isa/csr/Smctr/sctrstatus.yaml"
897
908
  - ".data/spec/std/isa/csr/Smctr/vsctrctl.yaml"
898
909
  - ".data/spec/std/isa/csr/Smrnmi/mncause.yaml"
899
910
  - ".data/spec/std/isa/csr/Smrnmi/mnepc.yaml"
@@ -902,6 +913,10 @@ files:
902
913
  - ".data/spec/std/isa/csr/Sscofpmf/scountovf.layout"
903
914
  - ".data/spec/std/isa/csr/Sscofpmf/scountovf.yaml"
904
915
  - ".data/spec/std/isa/csr/Ssqosid/srmcfg.yaml"
916
+ - ".data/spec/std/isa/csr/Sstc/stimecmp.yaml"
917
+ - ".data/spec/std/isa/csr/Sstc/stimecmph.yaml"
918
+ - ".data/spec/std/isa/csr/Sstc/vstimecmp.yaml"
919
+ - ".data/spec/std/isa/csr/Sstc/vstimecmph.yaml"
905
920
  - ".data/spec/std/isa/csr/V/vcsr.yaml"
906
921
  - ".data/spec/std/isa/csr/V/vl.yaml"
907
922
  - ".data/spec/std/isa/csr/V/vlenb.yaml"
@@ -1165,11 +1180,13 @@ files:
1165
1180
  - ".data/spec/std/isa/csr/sstatus.yaml"
1166
1181
  - ".data/spec/std/isa/csr/stval.yaml"
1167
1182
  - ".data/spec/std/isa/csr/stvec.yaml"
1183
+ - ".data/spec/std/isa/csr/tcontrol.yaml"
1168
1184
  - ".data/spec/std/isa/csr/tdata1.yaml"
1169
1185
  - ".data/spec/std/isa/csr/tdata2.yaml"
1170
1186
  - ".data/spec/std/isa/csr/tdata3.yaml"
1171
1187
  - ".data/spec/std/isa/csr/time.yaml"
1172
1188
  - ".data/spec/std/isa/csr/timeh.yaml"
1189
+ - ".data/spec/std/isa/csr/tinfo.yaml"
1173
1190
  - ".data/spec/std/isa/csr/tselect.yaml"
1174
1191
  - ".data/spec/std/isa/csr/vscause.yaml"
1175
1192
  - ".data/spec/std/isa/csr/vsepc.yaml"
@@ -1343,10 +1360,13 @@ files:
1343
1360
  - ".data/spec/std/isa/ext/Zve64d.yaml"
1344
1361
  - ".data/spec/std/isa/ext/Zve64f.yaml"
1345
1362
  - ".data/spec/std/isa/ext/Zve64x.yaml"
1363
+ - ".data/spec/std/isa/ext/Zvfbfa.yaml"
1346
1364
  - ".data/spec/std/isa/ext/Zvfbfmin.yaml"
1347
1365
  - ".data/spec/std/isa/ext/Zvfbfwma.yaml"
1348
1366
  - ".data/spec/std/isa/ext/Zvfh.yaml"
1349
1367
  - ".data/spec/std/isa/ext/Zvfhmin.yaml"
1368
+ - ".data/spec/std/isa/ext/Zvfofp4min.yaml"
1369
+ - ".data/spec/std/isa/ext/Zvfofp8min.yaml"
1350
1370
  - ".data/spec/std/isa/ext/Zvkb.yaml"
1351
1371
  - ".data/spec/std/isa/ext/Zvkg.yaml"
1352
1372
  - ".data/spec/std/isa/ext/Zvkn.yaml"
@@ -1368,8 +1388,6 @@ files:
1368
1388
  - ".data/spec/std/isa/ext/Zvl512b.yaml"
1369
1389
  - ".data/spec/std/isa/ext/Zvl64b.yaml"
1370
1390
  - ".data/spec/std/isa/inst/B/andn.yaml"
1371
- - ".data/spec/std/isa/inst/B/clmul.yaml"
1372
- - ".data/spec/std/isa/inst/B/clmulh.yaml"
1373
1391
  - ".data/spec/std/isa/inst/B/orn.yaml"
1374
1392
  - ".data/spec/std/isa/inst/B/rev8.yaml"
1375
1393
  - ".data/spec/std/isa/inst/B/rol.yaml"
@@ -2471,6 +2489,8 @@ files:
2471
2489
  - ".data/spec/std/isa/inst/Zbkb/packw.yaml"
2472
2490
  - ".data/spec/std/isa/inst/Zbkb/unzip.yaml"
2473
2491
  - ".data/spec/std/isa/inst/Zbkb/zip.yaml"
2492
+ - ".data/spec/std/isa/inst/Zbkc/clmul.yaml"
2493
+ - ".data/spec/std/isa/inst/Zbkc/clmulh.yaml"
2474
2494
  - ".data/spec/std/isa/inst/Zbkx/xperm4.yaml"
2475
2495
  - ".data/spec/std/isa/inst/Zbkx/xperm8.yaml"
2476
2496
  - ".data/spec/std/isa/inst/Zbs/bclr.yaml"
@@ -2732,6 +2752,10 @@ files:
2732
2752
  - ".data/spec/std/isa/inst/Zvfbfmin/vfwcvtbf16.f.f.v.yaml"
2733
2753
  - ".data/spec/std/isa/inst/Zvfbfwma/vfwmaccbf16.vf.yaml"
2734
2754
  - ".data/spec/std/isa/inst/Zvfbfwma/vfwmaccbf16.vv.yaml"
2755
+ - ".data/spec/std/isa/inst/Zvfofp4min/vfext.vf2.yaml"
2756
+ - ".data/spec/std/isa/inst/Zvfofp8min/vfncvt.f.f.q.yaml"
2757
+ - ".data/spec/std/isa/inst/Zvfofp8min/vfncvt.sat.f.f.q.yaml"
2758
+ - ".data/spec/std/isa/inst/Zvfofp8min/vfncvtbf16.sat.f.f.w.yaml"
2735
2759
  - ".data/spec/std/isa/inst/Zvkb/vandn.vv.yaml"
2736
2760
  - ".data/spec/std/isa/inst/Zvkb/vandn.vx.yaml"
2737
2761
  - ".data/spec/std/isa/inst/Zvkb/vbrev8.v.yaml"
@@ -2812,6 +2836,36 @@ files:
2812
2836
  - ".data/spec/std/isa/param/GSTAGE_MODE_BARE.yaml"
2813
2837
  - ".data/spec/std/isa/param/HCONTEXT_AVAILABLE.yaml"
2814
2838
  - ".data/spec/std/isa/param/HCOUNTENABLE_EN.yaml"
2839
+ - ".data/spec/std/isa/param/HPM_COUNTER10_WIDTH.yaml"
2840
+ - ".data/spec/std/isa/param/HPM_COUNTER11_WIDTH.yaml"
2841
+ - ".data/spec/std/isa/param/HPM_COUNTER12_WIDTH.yaml"
2842
+ - ".data/spec/std/isa/param/HPM_COUNTER13_WIDTH.yaml"
2843
+ - ".data/spec/std/isa/param/HPM_COUNTER14_WIDTH.yaml"
2844
+ - ".data/spec/std/isa/param/HPM_COUNTER15_WIDTH.yaml"
2845
+ - ".data/spec/std/isa/param/HPM_COUNTER16_WIDTH.yaml"
2846
+ - ".data/spec/std/isa/param/HPM_COUNTER17_WIDTH.yaml"
2847
+ - ".data/spec/std/isa/param/HPM_COUNTER18_WIDTH.yaml"
2848
+ - ".data/spec/std/isa/param/HPM_COUNTER19_WIDTH.yaml"
2849
+ - ".data/spec/std/isa/param/HPM_COUNTER20_WIDTH.yaml"
2850
+ - ".data/spec/std/isa/param/HPM_COUNTER21_WIDTH.yaml"
2851
+ - ".data/spec/std/isa/param/HPM_COUNTER22_WIDTH.yaml"
2852
+ - ".data/spec/std/isa/param/HPM_COUNTER23_WIDTH.yaml"
2853
+ - ".data/spec/std/isa/param/HPM_COUNTER24_WIDTH.yaml"
2854
+ - ".data/spec/std/isa/param/HPM_COUNTER25_WIDTH.yaml"
2855
+ - ".data/spec/std/isa/param/HPM_COUNTER26_WIDTH.yaml"
2856
+ - ".data/spec/std/isa/param/HPM_COUNTER27_WIDTH.yaml"
2857
+ - ".data/spec/std/isa/param/HPM_COUNTER28_WIDTH.yaml"
2858
+ - ".data/spec/std/isa/param/HPM_COUNTER29_WIDTH.yaml"
2859
+ - ".data/spec/std/isa/param/HPM_COUNTER30_WIDTH.yaml"
2860
+ - ".data/spec/std/isa/param/HPM_COUNTER31_WIDTH.yaml"
2861
+ - ".data/spec/std/isa/param/HPM_COUNTER3_WIDTH.yaml"
2862
+ - ".data/spec/std/isa/param/HPM_COUNTER4_WIDTH.yaml"
2863
+ - ".data/spec/std/isa/param/HPM_COUNTER5_WIDTH.yaml"
2864
+ - ".data/spec/std/isa/param/HPM_COUNTER6_WIDTH.yaml"
2865
+ - ".data/spec/std/isa/param/HPM_COUNTER7_WIDTH.yaml"
2866
+ - ".data/spec/std/isa/param/HPM_COUNTER8_WIDTH.yaml"
2867
+ - ".data/spec/std/isa/param/HPM_COUNTER9_WIDTH.yaml"
2868
+ - ".data/spec/std/isa/param/HPM_COUNTERN_WIDTH.layout"
2815
2869
  - ".data/spec/std/isa/param/HPM_COUNTER_EN.yaml"
2816
2870
  - ".data/spec/std/isa/param/HPM_EVENTS.yaml"
2817
2871
  - ".data/spec/std/isa/param/HSTATEEN_AIA_TYPE.yaml"
@@ -2855,6 +2909,7 @@ files:
2855
2909
  - ".data/spec/std/isa/param/MCTRCTL_STE_IMPLEMENTED.yaml"
2856
2910
  - ".data/spec/std/isa/param/MCTRCTL_TKBRINH_IMPLEMENTED.yaml"
2857
2911
  - ".data/spec/std/isa/param/MCTRCTL_TRETINH_IMPLEMENTED.yaml"
2912
+ - ".data/spec/std/isa/param/MEI_INTR_IMPL.yaml"
2858
2913
  - ".data/spec/std/isa/param/MIMPID_IMPLEMENTED.yaml"
2859
2914
  - ".data/spec/std/isa/param/MISALIGNED_AMO.yaml"
2860
2915
  - ".data/spec/std/isa/param/MISALIGNED_LDST.yaml"
@@ -2862,6 +2917,7 @@ files:
2862
2917
  - ".data/spec/std/isa/param/MISALIGNED_MAX_ATOMICITY_GRANULE_SIZE.yaml"
2863
2918
  - ".data/spec/std/isa/param/MISALIGNED_SPLIT_STRATEGY.yaml"
2864
2919
  - ".data/spec/std/isa/param/MISA_CSR_IMPLEMENTED.yaml"
2920
+ - ".data/spec/std/isa/param/MSI_INTR_IMPL.yaml"
2865
2921
  - ".data/spec/std/isa/param/MSTATEEN_AIA_TYPE.yaml"
2866
2922
  - ".data/spec/std/isa/param/MSTATEEN_CONTEXT_TYPE.yaml"
2867
2923
  - ".data/spec/std/isa/param/MSTATEEN_CSRIND_TYPE.yaml"
@@ -2870,6 +2926,7 @@ files:
2870
2926
  - ".data/spec/std/isa/param/MSTATEEN_JVT_TYPE.yaml"
2871
2927
  - ".data/spec/std/isa/param/MSTATUS_FS_LEGAL_VALUES.yaml"
2872
2928
  - ".data/spec/std/isa/param/MSTATUS_VS_LEGAL_VALUES.yaml"
2929
+ - ".data/spec/std/isa/param/MTI_INTR_IMPL.yaml"
2873
2930
  - ".data/spec/std/isa/param/MTVAL_WIDTH.yaml"
2874
2931
  - ".data/spec/std/isa/param/MTVEC_ACCESS.yaml"
2875
2932
  - ".data/spec/std/isa/param/MTVEC_BASE_ALIGNMENT_DIRECT.yaml"
@@ -2889,12 +2946,12 @@ files:
2889
2946
  - ".data/spec/std/isa/param/MUTABLE_MISA_V.yaml"
2890
2947
  - ".data/spec/std/isa/param/MXLEN.yaml"
2891
2948
  - ".data/spec/std/isa/param/M_MODE_ENDIANNESS.yaml"
2949
+ - ".data/spec/std/isa/param/NON_STANDARD_EXTENSION_IMPLEMENTED.yaml"
2892
2950
  - ".data/spec/std/isa/param/NUM_EXTERNAL_GUEST_INTERRUPTS.yaml"
2893
2951
  - ".data/spec/std/isa/param/NUM_PMP_ENTRIES.yaml"
2894
2952
  - ".data/spec/std/isa/param/NUM_USABLE_PMP_ENTRIES.yaml"
2895
2953
  - ".data/spec/std/isa/param/PHYS_ADDR_WIDTH.yaml"
2896
2954
  - ".data/spec/std/isa/param/PMA_GRANULARITY.yaml"
2897
- - ".data/spec/std/isa/param/PMLEN.yaml"
2898
2955
  - ".data/spec/std/isa/param/PMP_GRANULARITY.yaml"
2899
2956
  - ".data/spec/std/isa/param/PMP_NA4_SUPPORTED.yaml"
2900
2957
  - ".data/spec/std/isa/param/PMP_NAPOT_SUPPORTED.yaml"
@@ -2951,11 +3008,18 @@ files:
2951
3008
  - ".data/spec/std/isa/param/RVV_VL_WHEN_AVL_LT_DOUBLE_VLMAX.yaml"
2952
3009
  - ".data/spec/std/isa/param/SATP_MODE_BARE.yaml"
2953
3010
  - ".data/spec/std/isa/param/SCOUNTENABLE_EN.yaml"
3011
+ - ".data/spec/std/isa/param/SCTRDEPTH_DEPTH_LEGAL_VALUES.yaml"
3012
+ - ".data/spec/std/isa/param/SEI_INTR_IMPL.yaml"
2954
3013
  - ".data/spec/std/isa/param/SEW_MIN.yaml"
3014
+ - ".data/spec/std/isa/param/SSI_INTR_IMPL.yaml"
2955
3015
  - ".data/spec/std/isa/param/SSTATEEN_JVT_TYPE.yaml"
3016
+ - ".data/spec/std/isa/param/STI_INTR_IMPL.yaml"
2956
3017
  - ".data/spec/std/isa/param/STVAL_WIDTH.yaml"
2957
3018
  - ".data/spec/std/isa/param/STVEC_BASE_ALIGNMENT_VECTORED.yaml"
2958
3019
  - ".data/spec/std/isa/param/STVEC_MODES.yaml"
3020
+ - ".data/spec/std/isa/param/SUPPORTED_PMLEN_SMMPM.yaml"
3021
+ - ".data/spec/std/isa/param/SUPPORTED_PMLEN_SMNPM.yaml"
3022
+ - ".data/spec/std/isa/param/SUPPORTED_PMLEN_SSNPM.yaml"
2959
3023
  - ".data/spec/std/isa/param/SUPPORT_FRACTIONAL_LMUL_BEYOND_REQUIRED.yaml"
2960
3024
  - ".data/spec/std/isa/param/SV32X4_TRANSLATION.yaml"
2961
3025
  - ".data/spec/std/isa/param/SV32_VSMODE_TRANSLATION.yaml"
@@ -3014,13 +3078,18 @@ files:
3014
3078
  - ".data/spec/std/isa/param/VILL_SET_ON_RESERVED_VTYPE.yaml"
3015
3079
  - ".data/spec/std/isa/param/VLEN.yaml"
3016
3080
  - ".data/spec/std/isa/param/VMID_WIDTH.yaml"
3081
+ - ".data/spec/std/isa/param/VSEI_INTR_IMPL.yaml"
3082
+ - ".data/spec/std/isa/param/VSSI_INTR_IMPL.yaml"
3017
3083
  - ".data/spec/std/isa/param/VSSTAGE_MODE_BARE.yaml"
3018
3084
  - ".data/spec/std/isa/param/VSSTATUS_VS_EXISTS.yaml"
3085
+ - ".data/spec/std/isa/param/VSTI_INTR_IMPL.yaml"
3019
3086
  - ".data/spec/std/isa/param/VSTVEC_MODES.yaml"
3020
3087
  - ".data/spec/std/isa/param/VSXLEN.yaml"
3021
3088
  - ".data/spec/std/isa/param/VS_MODE_ENDIANNESS.yaml"
3022
3089
  - ".data/spec/std/isa/param/VUXLEN.yaml"
3023
3090
  - ".data/spec/std/isa/param/VU_MODE_ENDIANNESS.yaml"
3091
+ - ".data/spec/std/isa/param/WFI_FINITE.yaml"
3092
+ - ".data/spec/std/isa/param/WFI_U_MODE.yaml"
3024
3093
  - ".data/spec/std/isa/param/ZAWRS_NTO_IS_NOP.yaml"
3025
3094
  - ".data/spec/std/isa/profile/RVA20S64.yaml"
3026
3095
  - ".data/spec/std/isa/profile/RVA20U64.yaml"
@@ -3101,7 +3170,7 @@ licenses:
3101
3170
  - BSD-3-Clause-Clear
3102
3171
  metadata:
3103
3172
  homepage_uri: https://github.com/riscv/riscv-unified-db
3104
- mailing_list_uri: https://lists.riscv.org/g/tech-unifieddb
3173
+ mailing_list_uri: https://lists.riscv.org/g/sig-unifieddb
3105
3174
  bug_tracker_uri: https://github.com/riscv/riscv-unified-db/issues
3106
3175
  rdoc_options: []
3107
3176
  require_paths: