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
@@ -7,34 +7,26 @@ $schema: param_schema.json#
7
7
  kind: parameter
8
8
  name: MSTATUS_VS_LEGAL_VALUES
9
9
  description: The set of values that mstatus.VS will accept from a software write.
10
- long_name: TODO
10
+ long_name: mstatus.VS legal values
11
11
  schema:
12
12
  type: array
13
13
  items:
14
14
  type: integer
15
15
  enum:
16
- - 0
17
- - 1
18
- - 2
19
- - 3
16
+ - 0 # Off
17
+ - 1 # Initial
18
+ - 2 # Clean
19
+ - 3 # Dirty
20
20
  minItems: 1
21
21
  maxItems: 4
22
22
  uniqueItems: true
23
23
  requirements:
24
24
  idl(): |
25
- # [RULE] If the v registers are implemented, the VS field shall not be read-only zero.
26
- implemented?(ExtensionName::V)
27
- -> $array_size(MSTATUS_VS_LEGAL_VALUES) > 1;
28
-
29
25
  # [RULE] If there is a hardware update to mstatus.VS, then the Dirty state must be supported
30
- implemented?(ExtensionName::V) &&
31
- (HW_MSTATUS_VS_DIRTY_UPDATE == "precise" || HW_MSTATUS_VS_DIRTY_UPDATE == "imprecise")
32
- -> $array_includes?(MSTATUS_VS_LEGAL_VALUES, 0) &&
33
- $array_includes?(MSTATUS_VS_LEGAL_VALUES, 3);
26
+ implemented?(ExtensionName::V)
27
+ -> $array_includes?(MSTATUS_VS_LEGAL_VALUES, 3);
34
28
 
35
29
  reason: |
36
- If V is supported, both Off (0) and Dirty (3) must be supported
37
-
38
30
  If there is a hardware update to mstatus.VS, then the Dirty state must be supported
39
31
  definedBy:
40
32
  extension:
@@ -0,0 +1,28 @@
1
+ # Copyright (c) David_Harris@hmc.edu 13 July 2026
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: MTI_INTR_IMPL
9
+ description: |
10
+ Whether or not machine-level timer interrupts are implemented.
11
+
12
+ Possible values:
13
+
14
+ true::
15
+ Machine-level timer interrupts are implemented.
16
+ `mie.MTIE`, `mideleg.MTI`, and `mtimecmp` are writable.
17
+
18
+ false::
19
+ Machine-level timer interrupts are not implemented.
20
+ `mie.MTIE` and `mideleg.MTI` are read-only zero. `mtimecmp` is optional and may be read-only zero.
21
+ long_name: Machine-level timer interrupts are implemented
22
+ schema:
23
+ type: boolean
24
+ definedBy:
25
+ extension:
26
+ allOf:
27
+ - name: Zicsr
28
+ - name: Sm
@@ -29,7 +29,7 @@ requirements:
29
29
 
30
30
  # in RV32, MTVAL must be able to hold a physical address if M-mode takes an exception
31
31
  # that reports an address
32
- # Since phyiscal address width can be larger than 32 with Sv32, need to downsize MTVAL in that case
32
+ # Since physical address width can be larger than 32 with Sv32, need to downsize MTVAL in that case
33
33
  (
34
34
  MXLEN == 32 &&
35
35
  PHYS_ADDR_WIDTH > 32 &&
@@ -42,11 +42,15 @@ requirements:
42
42
  REPORT_VA_IN_MTVAL_ON_INSTRUCTION_MISALIGNED ||
43
43
  REPORT_VA_IN_MTVAL_ON_LOAD_ACCESS_FAULT ||
44
44
  REPORT_VA_IN_MTVAL_ON_STORE_AMO_ACCESS_FAULT ||
45
- REPORT_VA_IN_MTVAL_ON_INSTRUCTION_ACCESS_FAULT
45
+ REPORT_VA_IN_MTVAL_ON_INSTRUCTION_ACCESS_FAULT ||
46
+ REPORT_VA_IN_MTVAL_ON_LOAD_PAGE_FAULT ||
47
+ REPORT_VA_IN_MTVAL_ON_STORE_AMO_PAGE_FAULT ||
48
+ REPORT_VA_IN_MTVAL_ON_INSTRUCTION_PAGE_FAULT
46
49
  )
47
50
  ) -> (MTVAL_WIDTH == 32);
48
51
 
49
- # TODO: uncomment when we have support for parameter comparison to other parameters
52
+ # TODO: uncomment when we have support for parameter/function comparison
53
+ # on the RHS of a constraint.
50
54
  # (
51
55
  # (
52
56
  # MXLEN == 64 ||
@@ -64,10 +68,15 @@ requirements:
64
68
  # REPORT_VA_IN_MTVAL_ON_INSTRUCTION_MISALIGNED ||
65
69
  # REPORT_VA_IN_MTVAL_ON_LOAD_ACCESS_FAULT ||
66
70
  # REPORT_VA_IN_MTVAL_ON_STORE_AMO_ACCESS_FAULT ||
67
- # REPORT_VA_IN_MTVAL_ON_INSTRUCTION_ACCESS_FAULT
71
+ # REPORT_VA_IN_MTVAL_ON_INSTRUCTION_ACCESS_FAULT ||
72
+ # REPORT_VA_IN_MTVAL_ON_LOAD_PAGE_FAULT ||
73
+ # REPORT_VA_IN_MTVAL_ON_STORE_AMO_PAGE_FAULT ||
74
+ # REPORT_VA_IN_MTVAL_ON_INSTRUCTION_PAGE_FAULT
68
75
  # )
69
76
  # ) -> (MTVAL_WIDTH >= PHYS_ADDR_WIDTH);
70
77
 
78
+ # TODO: uncomment when we have support for parameter/function comparison
79
+ # on the RHS of a constraint.
71
80
  # (
72
81
  # implemented?(ExtensionName::S) &&
73
82
  # (
@@ -79,7 +88,10 @@ requirements:
79
88
  # REPORT_VA_IN_MTVAL_ON_INSTRUCTION_MISALIGNED ||
80
89
  # REPORT_VA_IN_MTVAL_ON_LOAD_ACCESS_FAULT ||
81
90
  # REPORT_VA_IN_MTVAL_ON_STORE_AMO_ACCESS_FAULT ||
82
- # REPORT_VA_IN_MTVAL_ON_INSTRUCTION_ACCESS_FAULT
91
+ # REPORT_VA_IN_MTVAL_ON_INSTRUCTION_ACCESS_FAULT ||
92
+ # REPORT_VA_IN_MTVAL_ON_LOAD_PAGE_FAULT ||
93
+ # REPORT_VA_IN_MTVAL_ON_STORE_AMO_PAGE_FAULT ||
94
+ # REPORT_VA_IN_MTVAL_ON_INSTRUCTION_PAGE_FAULT
83
95
  # )
84
96
  # ) -> (MTVAL_WIDTH >= max_va_size());
85
97
 
@@ -9,7 +9,7 @@ name: MUTABLE_MISA_A
9
9
  description: |
10
10
  When the `A` extensions is supported, indicates whether or not
11
11
  the extension can be disabled in the `misa.A` bit.
12
- long_name: TODO
12
+ long_name: "`misa.A` mutability"
13
13
  schema:
14
14
  type: boolean
15
15
  definedBy:
@@ -8,7 +8,7 @@ kind: parameter
8
8
  name: MUTABLE_MISA_B
9
9
  description: Indicates whether or not the `B` extension can be disabled with the
10
10
  `misa.B` bit.
11
- long_name: TODO
11
+ long_name: "`misa.B` mutability"
12
12
  schema:
13
13
  type: boolean
14
14
  definedBy:
@@ -11,7 +11,7 @@ description:
11
11
  `misa.C` bit.
12
12
 
13
13
  "
14
- long_name: TODO
14
+ long_name: "`misa.C` mutability"
15
15
  schema:
16
16
  type: boolean
17
17
  definedBy:
@@ -11,7 +11,7 @@ description:
11
11
  `misa.D` bit.
12
12
 
13
13
  "
14
- long_name: TODO
14
+ long_name: "`misa.D` mutability"
15
15
  schema:
16
16
  type: boolean
17
17
  definedBy:
@@ -11,7 +11,7 @@ description:
11
11
  `misa.F` bit.
12
12
 
13
13
  "
14
- long_name: TODO
14
+ long_name: "`misa.F` mutability"
15
15
  schema:
16
16
  type: boolean
17
17
  definedBy:
@@ -11,7 +11,7 @@ description:
11
11
  `misa.M` bit.
12
12
 
13
13
  "
14
- long_name: TODO
14
+ long_name: "`misa.M` mutability"
15
15
  schema:
16
16
  type: boolean
17
17
  definedBy:
@@ -11,7 +11,7 @@ description:
11
11
  `misa.Q` bit.
12
12
 
13
13
  "
14
- long_name: TODO
14
+ long_name: "`misa.Q` mutability"
15
15
  schema:
16
16
  type: boolean
17
17
  definedBy:
@@ -11,7 +11,7 @@ description:
11
11
  `misa.U` bit.
12
12
 
13
13
  "
14
- long_name: TODO
14
+ long_name: "`misa.U` mutability"
15
15
  schema:
16
16
  type: boolean
17
17
  definedBy:
@@ -7,7 +7,7 @@ $schema: param_schema.json#
7
7
  kind: parameter
8
8
  name: MUTABLE_MISA_V
9
9
  description: Indicates whether or not the `V` extension can be disabled with the `misa.V` bit.
10
- long_name: TODO
10
+ long_name: "`misa.V` mutability"
11
11
  schema:
12
12
  type: boolean
13
13
  definedBy:
@@ -5,16 +5,13 @@
5
5
 
6
6
  $schema: param_schema.json#
7
7
  kind: parameter
8
- name: PMLEN
8
+ name: NON_STANDARD_EXTENSION_IMPLEMENTED
9
9
  description: |
10
- The number of high-order bits of an address that are masked by the
11
- pointer masking facility.
12
- long_name: TODO
10
+ If any non-standard extensions are implemented, this parameter must be true.
11
+ This parameter is used as the reset value for `misa.X`.
12
+ long_name: Non-standard extensions implemented
13
13
  schema:
14
- type: integer
14
+ type: boolean
15
15
  definedBy:
16
16
  extension:
17
- anyOf:
18
- - name: Smmpm
19
- - name: Smnpm
20
- - name: Ssnpm
17
+ name: Sm
@@ -13,7 +13,7 @@ description: |
13
13
  long_name: TODO
14
14
  schema:
15
15
  type: integer
16
- minimum: 1
16
+ minimum: 0
17
17
  maximum: 63
18
18
  definedBy:
19
19
  extension:
@@ -22,7 +22,7 @@ description: |
22
22
  An implemented entry may still be read-only zero (but will never cause an exception).
23
23
  The number of entries that are actually usable is given by
24
24
  NUM_USABLE_PMP_ENTRIES.
25
- long_name: TODO
25
+ long_name: number of implemented PMP entries
26
26
  schema:
27
27
  type: integer
28
28
  enum: [0, 16, 64]
@@ -7,7 +7,7 @@ $schema: param_schema.json#
7
7
  kind: parameter
8
8
  name: REPORT_CAUSE_IN_MTVAL_ON_LANDING_PAD_SOFTWARE_CHECK
9
9
  description: |
10
- When true, `mtval` is written with the shadow stack cause (code=18) when a SoftwareCheck exception is raised into M-mode due to a landing pad error.
10
+ When true, `mtval` is written with the landing pad fault cause (code=2) when a SoftwareCheck exception is raised into M-mode due to a landing pad error.
11
11
 
12
12
  When false, `mtval` is written with 0.
13
13
  long_name: TODO
@@ -7,7 +7,7 @@ $schema: param_schema.json#
7
7
  kind: parameter
8
8
  name: REPORT_CAUSE_IN_STVAL_ON_LANDING_PAD_SOFTWARE_CHECK
9
9
  description: |
10
- When true, `stval` is written with the shadow stack cause (code=18) when a SoftwareCheck exception is raised into S-mode due to a landing pad error.
10
+ When true, `stval` is written with the landing pad fault cause (code=2) when a SoftwareCheck exception is raised into S-mode due to a landing pad error.
11
11
 
12
12
  When false, `stval` is written with 0.
13
13
  long_name: TODO
@@ -7,7 +7,7 @@ $schema: param_schema.json#
7
7
  kind: parameter
8
8
  name: REPORT_CAUSE_IN_VSTVAL_ON_LANDING_PAD_SOFTWARE_CHECK
9
9
  description: |
10
- When true, `vstval` is written with the shadow stack cause (code=18) when a SoftwareCheck exception is raised into VS-mode due to a landing pad error.
10
+ When true, `vstval` is written with the landing pad fault cause (code=2) when a SoftwareCheck exception is raised into VS-mode due to a landing pad error.
11
11
 
12
12
  When false, `vstval` is written with 0.
13
13
  long_name: TODO
@@ -9,9 +9,8 @@ name: SCOUNTENABLE_EN
9
9
  description: |
10
10
  Indicates which counters can delegated via `scounteren`
11
11
 
12
- An unimplemented counter cannot be specified, i.e., if
13
- HPM_COUNTER_EN[3] is false, it would be illegal to set
14
- SCOUNTENABLE_EN[3] to true.
12
+ `SCOUNTENABLE_EN[n]` controls whether `scounteren.HPM<n>` is writable. It does not
13
+ depend on whether `hpmcounter<n>`/`mhpmcounter<n>` is read-only zero.
15
14
 
16
15
  SCOUNTENABLE_EN[0:2] must all be false if `Zicntr` is not implemented.
17
16
  SCOUNTENABLE_EN[3:31] must all be false if `Zihpm` is not implemented.
@@ -29,14 +28,11 @@ requirements:
29
28
  }
30
29
  for (U32 i = 3; i < 32; i++) {
31
30
  !implemented?(ExtensionName::Zihpm) -> !SCOUNTENABLE_EN[i];
32
- (!HPM_COUNTER_EN[i]) -> !SCOUNTENABLE_EN[i];
33
31
  }
34
32
  reason: |
35
33
  Counters 0-2 are defined by Zicntr
36
34
 
37
35
  Counters 3..31 are defined by Zihpm
38
-
39
- When mhpmcounter[i] does not exist, it cannot be enabled.
40
36
  definedBy:
41
37
  extension:
42
38
  name: S
@@ -0,0 +1,27 @@
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: SCTRDEPTH_DEPTH_LEGAL_VALUES
9
+ description: |
10
+ The set of supported actual depths for the Control Transfer Records (CTR) buffer.
11
+ long_name: Supported CTR buffer depths
12
+ schema:
13
+ type: array
14
+ items:
15
+ type: integer
16
+ enum:
17
+ - 16
18
+ - 32
19
+ - 64
20
+ - 128
21
+ - 256
22
+ maxItems: 5
23
+ minItems: 1
24
+ uniqueItems: true
25
+ definedBy:
26
+ extension:
27
+ name: Smctr
@@ -0,0 +1,28 @@
1
+ # Copyright (c) David_Harris@hmc.edu 13 July 2026
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: SEI_INTR_IMPL
9
+ description: |
10
+ Whether or not supervisor-level external interrupts are implemented.
11
+
12
+ Possible values:
13
+
14
+ true::
15
+ Supervisor-level external interrupts are implemented.
16
+ `mie.SEIE` and `mideleg.SEI` are writable.
17
+
18
+ false::
19
+ Supervisor-level external interrupts are not implemented.
20
+ `mie.SEIE`, `mip.SEIP`, and `mideleg.SEI` are read-only zero.
21
+ long_name: Supervisor-level external interrupts are implemented
22
+ schema:
23
+ type: boolean
24
+ definedBy:
25
+ extension:
26
+ allOf:
27
+ - name: Zicsr
28
+ - name: S
@@ -0,0 +1,28 @@
1
+ # Copyright (c) David_Harris@hmc.edu 13 July 2026
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: SSI_INTR_IMPL
9
+ description: |
10
+ Whether or not supervisor-level software interrupts are implemented.
11
+
12
+ Possible values:
13
+
14
+ true::
15
+ Supervisor-level software interrupts are implemented.
16
+ `mie.SSIE` and `mideleg.SSI` are writable.
17
+
18
+ false::
19
+ Supervisor-level software interrupts are not implemented.
20
+ `mie.SSIE`, `mip.SSIP`, and `mideleg.SSI` are read-only zero.
21
+ long_name: Supervisor-level software interrupts are implemented
22
+ schema:
23
+ type: boolean
24
+ definedBy:
25
+ extension:
26
+ allOf:
27
+ - name: Zicsr
28
+ - name: S
@@ -0,0 +1,33 @@
1
+ # Copyright (c) David_Harris@hmc.edu 13 July 2026
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: STI_INTR_IMPL
9
+ description: |
10
+ Whether or not supervisor-level timer interrupts are implemented.
11
+ If Sstc is implemented, then STI_INTR_IMPL must be true.
12
+
13
+ Possible values:
14
+
15
+ true::
16
+ Supervisor-level timer interrupts are implemented.
17
+ `mie.STIE` and `mideleg.STI` are writable.
18
+
19
+ false::
20
+ Supervisor-level timer interrupts are not implemented.
21
+ `mie.STIE`, `mip.STIP`, and `mideleg.STI` are read-only zero.
22
+ long_name: Supervisor-level timer interrupts are implemented
23
+ schema:
24
+ type: boolean
25
+ requirements:
26
+ idl(): |
27
+ implemented?(ExtensionName::Sstc) -> STI_INTR_IMPL;
28
+ reason: "When the Sstc extension is implemented, STIP reflects the timer interrupt signal resulting from `stimecmp`."
29
+ definedBy:
30
+ extension:
31
+ allOf:
32
+ - name: Zicsr
33
+ - name: S
@@ -18,3 +18,84 @@ schema:
18
18
  definedBy:
19
19
  extension:
20
20
  name: S
21
+ requirements:
22
+ idl(): |
23
+ ($array_size(SXLEN) == 1 && SXLEN[0] == 32) -> STVAL_WIDTH <= 32;
24
+
25
+ # in RV32, STVAL must be able to hold a physical address if S-mode takes an exception
26
+ # that reports an address
27
+ # Since physical address width can be larger than 32 with Sv32, need to downsize STVAL in that case
28
+ (
29
+ ($array_size(SXLEN) == 1 && SXLEN[0] == 32) &&
30
+ PHYS_ADDR_WIDTH > 32 &&
31
+ (
32
+ implemented?(ExtensionName::Sdext) ||
33
+ implemented?(ExtensionName::Sstvala) ||
34
+ REPORT_VA_IN_STVAL_ON_BREAKPOINT ||
35
+ REPORT_ENCODING_IN_STVAL_ON_ILLEGAL_INSTRUCTION ||
36
+ REPORT_VA_IN_STVAL_ON_LOAD_MISALIGNED ||
37
+ REPORT_VA_IN_STVAL_ON_STORE_AMO_MISALIGNED ||
38
+ REPORT_VA_IN_STVAL_ON_INSTRUCTION_MISALIGNED ||
39
+ REPORT_VA_IN_STVAL_ON_LOAD_ACCESS_FAULT ||
40
+ REPORT_VA_IN_STVAL_ON_STORE_AMO_ACCESS_FAULT ||
41
+ REPORT_VA_IN_STVAL_ON_INSTRUCTION_ACCESS_FAULT ||
42
+ REPORT_VA_IN_STVAL_ON_LOAD_PAGE_FAULT ||
43
+ REPORT_VA_IN_STVAL_ON_STORE_AMO_PAGE_FAULT ||
44
+ REPORT_VA_IN_STVAL_ON_INSTRUCTION_PAGE_FAULT
45
+ )
46
+ ) -> (STVAL_WIDTH == 32);
47
+
48
+ # TODO: uncomment when we have support for parameter/function comparison
49
+ # on the RHS of a constraint.
50
+ # (
51
+ # (
52
+ # $array_includes?(SXLEN, 64) ||
53
+ # (
54
+ # ($array_size(SXLEN) == 1 && SXLEN[0] == 32) &&
55
+ # PHYS_ADDR_WIDTH <= 32
56
+ # )
57
+ # ) &&
58
+ # (
59
+ # implemented?(ExtensionName::Sdext) ||
60
+ # implemented?(ExtensionName::Sstvala) ||
61
+ # REPORT_VA_IN_STVAL_ON_BREAKPOINT ||
62
+ # REPORT_ENCODING_IN_STVAL_ON_ILLEGAL_INSTRUCTION ||
63
+ # REPORT_VA_IN_STVAL_ON_LOAD_MISALIGNED ||
64
+ # REPORT_VA_IN_STVAL_ON_STORE_AMO_MISALIGNED ||
65
+ # REPORT_VA_IN_STVAL_ON_INSTRUCTION_MISALIGNED ||
66
+ # REPORT_VA_IN_STVAL_ON_LOAD_ACCESS_FAULT ||
67
+ # REPORT_VA_IN_STVAL_ON_STORE_AMO_ACCESS_FAULT ||
68
+ # REPORT_VA_IN_STVAL_ON_INSTRUCTION_ACCESS_FAULT ||
69
+ # REPORT_VA_IN_STVAL_ON_LOAD_PAGE_FAULT ||
70
+ # REPORT_VA_IN_STVAL_ON_STORE_AMO_PAGE_FAULT ||
71
+ # REPORT_VA_IN_STVAL_ON_INSTRUCTION_PAGE_FAULT
72
+ # )
73
+ # ) -> (STVAL_WIDTH >= PHYS_ADDR_WIDTH);
74
+
75
+ # TODO: uncomment when we have support for parameter/function comparison
76
+ # on the RHS of a constraint.
77
+ # (
78
+ # implemented?(ExtensionName::S) &&
79
+ # (
80
+ # implemented?(ExtensionName::Sdext) ||
81
+ # implemented?(ExtensionName::Sstvala) ||
82
+ # REPORT_VA_IN_STVAL_ON_BREAKPOINT ||
83
+ # REPORT_ENCODING_IN_STVAL_ON_ILLEGAL_INSTRUCTION ||
84
+ # REPORT_VA_IN_STVAL_ON_LOAD_MISALIGNED ||
85
+ # REPORT_VA_IN_STVAL_ON_STORE_AMO_MISALIGNED ||
86
+ # REPORT_VA_IN_STVAL_ON_INSTRUCTION_MISALIGNED ||
87
+ # REPORT_VA_IN_STVAL_ON_LOAD_ACCESS_FAULT ||
88
+ # REPORT_VA_IN_STVAL_ON_STORE_AMO_ACCESS_FAULT ||
89
+ # REPORT_VA_IN_STVAL_ON_INSTRUCTION_ACCESS_FAULT ||
90
+ # REPORT_VA_IN_STVAL_ON_LOAD_PAGE_FAULT ||
91
+ # REPORT_VA_IN_STVAL_ON_STORE_AMO_PAGE_FAULT ||
92
+ # REPORT_VA_IN_STVAL_ON_INSTRUCTION_PAGE_FAULT
93
+ # )
94
+ # ) -> (STVAL_WIDTH >= max_va_size());
95
+
96
+ (
97
+ implemented?(ExtensionName::Sstvala) ||
98
+ REPORT_ENCODING_IN_STVAL_ON_ILLEGAL_INSTRUCTION
99
+ ) -> (STVAL_WIDTH >= INSTR_ENC_SIZE);
100
+ reason: |
101
+ `stval` must be able to hold physical and/or virtual addresses
@@ -0,0 +1,40 @@
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: SUPPORTED_PMLEN_SMMPM
9
+ description: |
10
+ The `PMLEN` values supported by the `Smmpm` pointer masking facility
11
+ for M-mode, selected via the `PMM` field in `mseccfg`. `PMLEN` is the
12
+ number of high-order bits of an address that are masked.
13
+
14
+ Options:
15
+
16
+ 0::
17
+ PMLEN=0 (pointer masking is disabled)
18
+ 7::
19
+ PMLEN=XLEN-57 (i.e., PMLEN=7 on RV64)
20
+ 16::
21
+ PMLEN=XLEN-48 (i.e., PMLEN=16 on RV64)
22
+
23
+ The current standard only supports these values (`zpm.adoc`, tag
24
+ `norm:pmlen_supported_values`). `PMM`=00 (pointer masking disabled,
25
+ PMLEN=0) is mandatory and always available, so it is mandatory
26
+ here.
27
+ long_name: Pointer mask length for M mode
28
+ schema:
29
+ type: array
30
+ items:
31
+ type: integer
32
+ enum: [0, 7, 16]
33
+ contains:
34
+ const: 0
35
+ minItems: 1
36
+ maxItems: 3
37
+ uniqueItems: true
38
+ definedBy:
39
+ extension:
40
+ name: Smmpm
@@ -0,0 +1,42 @@
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: SUPPORTED_PMLEN_SMNPM
9
+ description: |
10
+ The `PMLEN` values supported by the `Smnpm` pointer masking facility
11
+ for the next privilege mode below M-mode (S/HS if S-mode is
12
+ implemented, or U-mode otherwise), selected via the `PMM` field in
13
+ `menvcfg`. `PMLEN` is the number of high-order bits of an address
14
+ that are masked.
15
+
16
+ Options:
17
+
18
+ 0::
19
+ PMLEN=0 (pointer masking is disabled)
20
+ 7::
21
+ PMLEN=XLEN-57 (i.e., PMLEN=7 on RV64)
22
+ 16::
23
+ PMLEN=XLEN-48 (i.e., PMLEN=16 on RV64)
24
+
25
+ The current standard only supports these values (`zpm.adoc`, tag
26
+ `norm:pmlen_supported_values`). `PMM`=00 (pointer masking disabled,
27
+ PMLEN=0) is mandatory and always available, so it is mandatory
28
+ here.
29
+ long_name: Pointer mask length for next mode below M mode
30
+ schema:
31
+ type: array
32
+ items:
33
+ type: integer
34
+ enum: [0, 7, 16]
35
+ contains:
36
+ const: 0
37
+ minItems: 1
38
+ maxItems: 3
39
+ uniqueItems: true
40
+ definedBy:
41
+ extension:
42
+ name: Smnpm
@@ -0,0 +1,42 @@
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: SUPPORTED_PMLEN_SSNPM
9
+ description: |
10
+ The `PMLEN` values supported by the `Ssnpm` pointer masking facility
11
+ for the next privilege mode below S-mode (U-mode, and VS-/VU-modes if
12
+ the H extension is present), selected via the `PMM` field in
13
+ `senvcfg`. `PMLEN` is the number of high-order bits of an address
14
+ that are masked.
15
+
16
+ Options:
17
+
18
+ 0::
19
+ PMLEN=0 (pointer masking is disabled)
20
+ 7::
21
+ PMLEN=XLEN-57 (i.e., PMLEN=7 on RV64)
22
+ 16::
23
+ PMLEN=XLEN-48 (i.e., PMLEN=16 on RV64)
24
+
25
+ The current standard only supports these values (`zpm.adoc`, tag
26
+ `norm:pmlen_supported_values`). `PMM`=00 (pointer masking disabled,
27
+ PMLEN=0) is mandatory and always available, so it is mandatory
28
+ here.
29
+ long_name: Pointer mask length for next mode below S-mode
30
+ schema:
31
+ type: array
32
+ items:
33
+ type: integer
34
+ enum: [0, 7, 16]
35
+ contains:
36
+ const: 0
37
+ minItems: 1
38
+ maxItems: 3
39
+ uniqueItems: true
40
+ definedBy:
41
+ extension:
42
+ name: Ssnpm
@@ -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 S-mode"
15
15
  schema:
16
16
  type: boolean
17
17
  default: true
@@ -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 U-mode"
15
15
  schema:
16
16
  type: boolean
17
17
  default: true