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
@@ -0,0 +1,86 @@
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/csr_schema.json
5
+
6
+ $schema: "csr_schema.json#"
7
+ kind: csr
8
+ name: vsie
9
+ long_name: Virtual Supervisor Interrupt Enable
10
+ description: |
11
+ The vsie register is a VSXLEN-bit read/write register that is VS-mode’s version of
12
+ supervisor CSR sie. When V=1, vsie substitutes for the usual sie, so instructions that
13
+ normally read or modify sie actually access vsie instead. However, interrupts directed to
14
+ HS-level continue to be indicated in the HS-level sip register, not in vsip, when V=1.
15
+
16
+ When bit 13 of hideleg is zero, vsie.LCOFIE is read-only zero. Else, vsie.LCOFIE is an alias of sie.LCOFIE.
17
+ When bit 10 of hideleg is zero, vsie.SEIE is read-only zero. Else, vsie.SEIE is an alias of hie.VSEIE.
18
+ When bit 6 of hideleg is zero, vsie.STIE is read-only zero. Else, vsie.STIE is an alias of hie.VSTIE.
19
+ When bit 2 of hideleg is zero, vsie.SSIE is read-only zero. Else, vsie.SSIE is an alias of hie.VSSIE.
20
+ address: 0x204
21
+ virtual_address: 0x104
22
+ writable: true
23
+ priv_mode: VS
24
+ definedBy:
25
+ extension:
26
+ name: H
27
+ sw_read(): |
28
+ XReg result = 0;
29
+ if (CSR[hideleg].VSSI == 1) {
30
+ result[1] = CSR[hie].VSSIE;
31
+ }
32
+ if (CSR[hideleg].VSTI == 1) {
33
+ result[5] = CSR[hie].VSTIE;
34
+ }
35
+ if (CSR[hideleg].VSEI == 1) {
36
+ result[9] = CSR[hie].VSEIE;
37
+ }
38
+ if (CSR[hideleg].LCOFI == 1) {
39
+ result[13] = CSR[sie].LCOFIE;
40
+ }
41
+ return result;
42
+ length: VSXLEN
43
+ fields:
44
+ SSIE:
45
+ location: 1
46
+ type: RW-H
47
+ reset_value: UNDEFINED_LEGAL
48
+ sw_write(csr_value): |
49
+ if (CSR[hideleg].VSSI == 1) {
50
+ CSR[hie].VSSIE = csr_value.SSIE;
51
+ }
52
+ description: |
53
+ SSIE. Read-only zero when hideleg.VSSI is 0. Else, alias of hie.VSSIE.
54
+
55
+ STIE:
56
+ location: 5
57
+ type: RW-H
58
+ reset_value: UNDEFINED_LEGAL
59
+ sw_write(csr_value): |
60
+ if (CSR[hideleg].VSTI == 1) {
61
+ CSR[hie].VSTIE = csr_value.STIE;
62
+ }
63
+ description: |
64
+ STIE. Read-only zero when hideleg.VSTI is 0. Else, alias of hie.VSTIE.
65
+
66
+ SEIE:
67
+ location: 9
68
+ type: RW-H
69
+ reset_value: UNDEFINED_LEGAL
70
+ sw_write(csr_value): |
71
+ if (CSR[hideleg].VSEI == 1) {
72
+ CSR[hie].VSEIE = csr_value.SEIE;
73
+ }
74
+ description: |
75
+ SEIE. Read-only zero when hideleg.VSEI is 0. Else, alias of hie.VSEIE.
76
+
77
+ LCOFIE:
78
+ location: 13
79
+ type: RW-H
80
+ reset_value: UNDEFINED_LEGAL
81
+ sw_write(csr_value): |
82
+ if (CSR[hideleg].LCOFI == 1) {
83
+ CSR[sie].LCOFIE = csr_value.LCOFIE;
84
+ }
85
+ description: |
86
+ LCOFIE. Read-only zero when hideleg.LCOFI is 0. Else, alias of sie.LCOFIE.
@@ -0,0 +1,98 @@
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/csr_schema.json
5
+
6
+ $schema: "csr_schema.json#"
7
+ kind: csr
8
+ name: vsip
9
+ long_name: Virtual Supervisor Interrupt Pending
10
+ description: |
11
+ The `vsip` register is a VSXLEN-bit read/write register that is VS-mode’s version of the `sip` CSR.
12
+ When V=1, instructions that normally access `sip` instead access `vsip`. It holds the pending
13
+ interrupt status for supervisor-level traps in a virtualized environment.
14
+
15
+ However, interrupts directed to HS-level continue to be indicated in the HS-level `sip` register,
16
+ not in `vsip`, when V=1.
17
+
18
+ The standard portion (bits 15:0) includes individual interrupt-pending bits.
19
+ address: 0x244
20
+ virtual_address: 0x144
21
+ writable: true
22
+ priv_mode: VS
23
+ definedBy:
24
+ extension:
25
+ name: H
26
+ sw_read(): |
27
+ XReg result = 0;
28
+ if (CSR[hideleg].VSSI == 1) {
29
+ result[1] = CSR[hip].VSSIP;
30
+ }
31
+ if (CSR[hideleg].VSTI == 1) {
32
+ result[5] = CSR[hip].VSTIP;
33
+ }
34
+ if (CSR[hideleg].VSEI == 1) {
35
+ result[9] = CSR[hip].VSEIP;
36
+ }
37
+ if (implemented?(ExtensionName::Sscofpmf)) {
38
+ if (CSR[hideleg].LCOFI == 1) {
39
+ result[13] = CSR[sip].LCOFIP;
40
+ }
41
+ }
42
+ return result;
43
+ length: VSXLEN
44
+ fields:
45
+ SSIP:
46
+ location: 1
47
+ type: RW-H
48
+ reset_value: UNDEFINED_LEGAL
49
+ sw_write(csr_value): |
50
+ if (CSR[hideleg].VSSI == 1) {
51
+ CSR[hip].VSSIP = csr_value.SSIP;
52
+ }
53
+ description: |
54
+ *Supervisor Software Interrupt Pending*
55
+ Indicates a pending software interrupt at the supervisor level.
56
+ Read-only zero when `hideleg.VSSI == 0`, else aliased to `hip.VSSIP`.
57
+
58
+ STIP:
59
+ location: 5
60
+ type: RW-H
61
+ reset_value: UNDEFINED_LEGAL
62
+ sw_write(csr_value): |
63
+ if (CSR[hideleg].VSTI == 1) {
64
+ CSR[hip].VSTIP = csr_value.STIP;
65
+ }
66
+ description: |
67
+ *Supervisor Timer Interrupt Pending*
68
+ Indicates a pending timer interrupt at the supervisor level.
69
+ Read-only zero when `hideleg.VSTI == 0`, else aliased to `hip.VSTIP`.
70
+
71
+ SEIP:
72
+ location: 9
73
+ type: RW-H
74
+ reset_value: UNDEFINED_LEGAL
75
+ sw_write(csr_value): |
76
+ if (CSR[hideleg].VSEI == 1) {
77
+ CSR[hip].VSEIP = csr_value.SEIP;
78
+ }
79
+ description: |
80
+ *Supervisor External Interrupt Pending*
81
+ Indicates a pending external interrupt at the supervisor level.
82
+ Read-only zero when `hideleg.VSEI == 0`, else aliased to `hip.VSEIP`.
83
+
84
+ LCOFIP:
85
+ definedBy:
86
+ extension:
87
+ name: Sscofpmf
88
+ location: 13
89
+ type: RW-H
90
+ reset_value: UNDEFINED_LEGAL
91
+ sw_write(csr_value): |
92
+ if (CSR[hideleg].LCOFI == 1) {
93
+ CSR[sip].LCOFIP = csr_value.LCOFIP;
94
+ }
95
+ description: |
96
+ *Local Counter Overflow Interrupt Pending*
97
+ Indicates an overflow of a local counter.
98
+ Read-only zero when `hideleg.LCOFI == 0`, else aliased to `sip.LCOFIP`.
@@ -0,0 +1,29 @@
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/csr_schema.json
5
+
6
+ $schema: "csr_schema.json#"
7
+ kind: csr
8
+ name: vsscratch
9
+ address: 0x240
10
+ virtual_address: 0x140
11
+ long_name: Virtual Supervisor Scratch Register
12
+ writable: true
13
+ description: |
14
+ The vsscratch register is a VSXLEN-bit read/write register that is VS-mode’s version of supervisor register sscratch.
15
+ When V=1, vsscratch substitutes for the usual sscratch, so instructions that normally read or modify sscratch actually access vsscratch instead.
16
+ The contents of vsscratch never directly affect the behavior of the machine.
17
+ priv_mode: VS
18
+ length: VSXLEN
19
+ definedBy:
20
+ extension:
21
+ name: H
22
+ fields:
23
+ SCRATCH:
24
+ type: RW
25
+ reset_value: UNDEFINED_LEGAL
26
+ location_rv32: 31-0
27
+ location_rv64: 63-0
28
+ description: |
29
+ Virtual supervisor scratch register.
@@ -48,16 +48,16 @@ fields:
48
48
  return csr_value.ADDR;
49
49
  }
50
50
  sw_read(): |
51
- # when the mode is NAPOT and PMP_GRANULARITY >= 16,
51
+ # when the mode is NAPOT and PMP_GRANULARITY >= 4,
52
52
  # bits (PMP_GRANULARITY-4):0 must read as ones
53
53
  if (MXLEN == 32) {
54
- if ((PMP_GRANULARITY >= 16) &&
54
+ if ((PMP_GRANULARITY >= 4) &&
55
55
  (CSR[pmpcfg0].pmp0cfg[4] == 1)) {
56
56
  return CSR[pmpaddr0].ADDR | {PMP_GRANULARITY-3{1'b1}};
57
57
 
58
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
58
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
59
59
  # bits (PMP_GRANULARITY-3):0 must read as zeros
60
- } else if ((PMP_GRANULARITY >= 8) &&
60
+ } else if ((PMP_GRANULARITY >= 3) &&
61
61
  (CSR[pmpcfg0].pmp0cfg[4] == 0)) {
62
62
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
63
63
  return CSR[pmpaddr0].ADDR & ~mask;
@@ -67,13 +67,13 @@ sw_read(): |
67
67
  return CSR[pmpaddr0].ADDR;
68
68
  }
69
69
  } else {
70
- if ((PMP_GRANULARITY >= 16) &&
70
+ if ((PMP_GRANULARITY >= 4) &&
71
71
  (CSR[pmpcfg0].pmp0cfg[4] == 1)) {
72
72
  return CSR[pmpaddr0].ADDR | {PMP_GRANULARITY-3{1'b1}};
73
73
 
74
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
74
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
75
75
  # bits (PMP_GRANULARITY-3):0 must read as zeros
76
- } else if ((PMP_GRANULARITY >= 8) &&
76
+ } else if ((PMP_GRANULARITY >= 3) &&
77
77
  (CSR[pmpcfg0].pmp0cfg[4] == 0)) {
78
78
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
79
79
  return CSR[pmpaddr0].ADDR & ~mask;
@@ -48,16 +48,16 @@ fields:
48
48
  return csr_value.ADDR;
49
49
  }
50
50
  sw_read(): |
51
- # when the mode is NAPOT and PMP_GRANULARITY >= 16,
51
+ # when the mode is NAPOT and PMP_GRANULARITY >= 4,
52
52
  # bits (PMP_GRANULARITY-4):0 must read as ones
53
53
  if (MXLEN == 32) {
54
- if ((PMP_GRANULARITY >= 16) &&
54
+ if ((PMP_GRANULARITY >= 4) &&
55
55
  (CSR[pmpcfg0].pmp1cfg[4] == 1)) {
56
56
  return CSR[pmpaddr1].ADDR | {PMP_GRANULARITY-3{1'b1}};
57
57
 
58
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
58
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
59
59
  # bits (PMP_GRANULARITY-3):0 must read as zeros
60
- } else if ((PMP_GRANULARITY >= 8) &&
60
+ } else if ((PMP_GRANULARITY >= 3) &&
61
61
  (CSR[pmpcfg0].pmp1cfg[4] == 0)) {
62
62
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
63
63
  return CSR[pmpaddr1].ADDR & ~mask;
@@ -67,13 +67,13 @@ sw_read(): |
67
67
  return CSR[pmpaddr1].ADDR;
68
68
  }
69
69
  } else {
70
- if ((PMP_GRANULARITY >= 16) &&
70
+ if ((PMP_GRANULARITY >= 4) &&
71
71
  (CSR[pmpcfg0].pmp1cfg[4] == 1)) {
72
72
  return CSR[pmpaddr1].ADDR | {PMP_GRANULARITY-3{1'b1}};
73
73
 
74
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
74
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
75
75
  # bits (PMP_GRANULARITY-3):0 must read as zeros
76
- } else if ((PMP_GRANULARITY >= 8) &&
76
+ } else if ((PMP_GRANULARITY >= 3) &&
77
77
  (CSR[pmpcfg0].pmp1cfg[4] == 0)) {
78
78
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
79
79
  return CSR[pmpaddr1].ADDR & ~mask;
@@ -48,16 +48,16 @@ fields:
48
48
  return csr_value.ADDR;
49
49
  }
50
50
  sw_read(): |
51
- # when the mode is NAPOT and PMP_GRANULARITY >= 16,
51
+ # when the mode is NAPOT and PMP_GRANULARITY >= 4,
52
52
  # bits (PMP_GRANULARITY-4):0 must read as ones
53
53
  if (MXLEN == 32) {
54
- if ((PMP_GRANULARITY >= 16) &&
54
+ if ((PMP_GRANULARITY >= 4) &&
55
55
  (CSR[pmpcfg2].pmp10cfg[4] == 1)) {
56
56
  return CSR[pmpaddr10].ADDR | {PMP_GRANULARITY-3{1'b1}};
57
57
 
58
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
58
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
59
59
  # bits (PMP_GRANULARITY-3):0 must read as zeros
60
- } else if ((PMP_GRANULARITY >= 8) &&
60
+ } else if ((PMP_GRANULARITY >= 3) &&
61
61
  (CSR[pmpcfg2].pmp10cfg[4] == 0)) {
62
62
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
63
63
  return CSR[pmpaddr10].ADDR & ~mask;
@@ -67,13 +67,13 @@ sw_read(): |
67
67
  return CSR[pmpaddr10].ADDR;
68
68
  }
69
69
  } else {
70
- if ((PMP_GRANULARITY >= 16) &&
70
+ if ((PMP_GRANULARITY >= 4) &&
71
71
  (CSR[pmpcfg2].pmp10cfg[4] == 1)) {
72
72
  return CSR[pmpaddr10].ADDR | {PMP_GRANULARITY-3{1'b1}};
73
73
 
74
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
74
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
75
75
  # bits (PMP_GRANULARITY-3):0 must read as zeros
76
- } else if ((PMP_GRANULARITY >= 8) &&
76
+ } else if ((PMP_GRANULARITY >= 3) &&
77
77
  (CSR[pmpcfg2].pmp10cfg[4] == 0)) {
78
78
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
79
79
  return CSR[pmpaddr10].ADDR & ~mask;
@@ -48,16 +48,16 @@ fields:
48
48
  return csr_value.ADDR;
49
49
  }
50
50
  sw_read(): |
51
- # when the mode is NAPOT and PMP_GRANULARITY >= 16,
51
+ # when the mode is NAPOT and PMP_GRANULARITY >= 4,
52
52
  # bits (PMP_GRANULARITY-4):0 must read as ones
53
53
  if (MXLEN == 32) {
54
- if ((PMP_GRANULARITY >= 16) &&
54
+ if ((PMP_GRANULARITY >= 4) &&
55
55
  (CSR[pmpcfg2].pmp11cfg[4] == 1)) {
56
56
  return CSR[pmpaddr11].ADDR | {PMP_GRANULARITY-3{1'b1}};
57
57
 
58
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
58
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
59
59
  # bits (PMP_GRANULARITY-3):0 must read as zeros
60
- } else if ((PMP_GRANULARITY >= 8) &&
60
+ } else if ((PMP_GRANULARITY >= 3) &&
61
61
  (CSR[pmpcfg2].pmp11cfg[4] == 0)) {
62
62
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
63
63
  return CSR[pmpaddr11].ADDR & ~mask;
@@ -67,13 +67,13 @@ sw_read(): |
67
67
  return CSR[pmpaddr11].ADDR;
68
68
  }
69
69
  } else {
70
- if ((PMP_GRANULARITY >= 16) &&
70
+ if ((PMP_GRANULARITY >= 4) &&
71
71
  (CSR[pmpcfg2].pmp11cfg[4] == 1)) {
72
72
  return CSR[pmpaddr11].ADDR | {PMP_GRANULARITY-3{1'b1}};
73
73
 
74
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
74
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
75
75
  # bits (PMP_GRANULARITY-3):0 must read as zeros
76
- } else if ((PMP_GRANULARITY >= 8) &&
76
+ } else if ((PMP_GRANULARITY >= 3) &&
77
77
  (CSR[pmpcfg2].pmp11cfg[4] == 0)) {
78
78
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
79
79
  return CSR[pmpaddr11].ADDR & ~mask;
@@ -48,16 +48,16 @@ fields:
48
48
  return csr_value.ADDR;
49
49
  }
50
50
  sw_read(): |
51
- # when the mode is NAPOT and PMP_GRANULARITY >= 16,
51
+ # when the mode is NAPOT and PMP_GRANULARITY >= 4,
52
52
  # bits (PMP_GRANULARITY-4):0 must read as ones
53
53
  if (MXLEN == 32) {
54
- if ((PMP_GRANULARITY >= 16) &&
54
+ if ((PMP_GRANULARITY >= 4) &&
55
55
  (CSR[pmpcfg3].pmp12cfg[4] == 1)) {
56
56
  return CSR[pmpaddr12].ADDR | {PMP_GRANULARITY-3{1'b1}};
57
57
 
58
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
58
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
59
59
  # bits (PMP_GRANULARITY-3):0 must read as zeros
60
- } else if ((PMP_GRANULARITY >= 8) &&
60
+ } else if ((PMP_GRANULARITY >= 3) &&
61
61
  (CSR[pmpcfg3].pmp12cfg[4] == 0)) {
62
62
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
63
63
  return CSR[pmpaddr12].ADDR & ~mask;
@@ -67,13 +67,13 @@ sw_read(): |
67
67
  return CSR[pmpaddr12].ADDR;
68
68
  }
69
69
  } else {
70
- if ((PMP_GRANULARITY >= 16) &&
70
+ if ((PMP_GRANULARITY >= 4) &&
71
71
  (CSR[pmpcfg2].pmp12cfg[4] == 1)) {
72
72
  return CSR[pmpaddr12].ADDR | {PMP_GRANULARITY-3{1'b1}};
73
73
 
74
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
74
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
75
75
  # bits (PMP_GRANULARITY-3):0 must read as zeros
76
- } else if ((PMP_GRANULARITY >= 8) &&
76
+ } else if ((PMP_GRANULARITY >= 3) &&
77
77
  (CSR[pmpcfg2].pmp12cfg[4] == 0)) {
78
78
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
79
79
  return CSR[pmpaddr12].ADDR & ~mask;
@@ -48,16 +48,16 @@ fields:
48
48
  return csr_value.ADDR;
49
49
  }
50
50
  sw_read(): |
51
- # when the mode is NAPOT and PMP_GRANULARITY >= 16,
51
+ # when the mode is NAPOT and PMP_GRANULARITY >= 4,
52
52
  # bits (PMP_GRANULARITY-4):0 must read as ones
53
53
  if (MXLEN == 32) {
54
- if ((PMP_GRANULARITY >= 16) &&
54
+ if ((PMP_GRANULARITY >= 4) &&
55
55
  (CSR[pmpcfg3].pmp13cfg[4] == 1)) {
56
56
  return CSR[pmpaddr13].ADDR | {PMP_GRANULARITY-3{1'b1}};
57
57
 
58
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
58
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
59
59
  # bits (PMP_GRANULARITY-3):0 must read as zeros
60
- } else if ((PMP_GRANULARITY >= 8) &&
60
+ } else if ((PMP_GRANULARITY >= 3) &&
61
61
  (CSR[pmpcfg3].pmp13cfg[4] == 0)) {
62
62
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
63
63
  return CSR[pmpaddr13].ADDR & ~mask;
@@ -67,13 +67,13 @@ sw_read(): |
67
67
  return CSR[pmpaddr13].ADDR;
68
68
  }
69
69
  } else {
70
- if ((PMP_GRANULARITY >= 16) &&
70
+ if ((PMP_GRANULARITY >= 4) &&
71
71
  (CSR[pmpcfg2].pmp13cfg[4] == 1)) {
72
72
  return CSR[pmpaddr13].ADDR | {PMP_GRANULARITY-3{1'b1}};
73
73
 
74
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
74
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
75
75
  # bits (PMP_GRANULARITY-3):0 must read as zeros
76
- } else if ((PMP_GRANULARITY >= 8) &&
76
+ } else if ((PMP_GRANULARITY >= 3) &&
77
77
  (CSR[pmpcfg2].pmp13cfg[4] == 0)) {
78
78
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
79
79
  return CSR[pmpaddr13].ADDR & ~mask;
@@ -48,16 +48,16 @@ fields:
48
48
  return csr_value.ADDR;
49
49
  }
50
50
  sw_read(): |
51
- # when the mode is NAPOT and PMP_GRANULARITY >= 16,
51
+ # when the mode is NAPOT and PMP_GRANULARITY >= 4,
52
52
  # bits (PMP_GRANULARITY-4):0 must read as ones
53
53
  if (MXLEN == 32) {
54
- if ((PMP_GRANULARITY >= 16) &&
54
+ if ((PMP_GRANULARITY >= 4) &&
55
55
  (CSR[pmpcfg3].pmp14cfg[4] == 1)) {
56
56
  return CSR[pmpaddr14].ADDR | {PMP_GRANULARITY-3{1'b1}};
57
57
 
58
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
58
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
59
59
  # bits (PMP_GRANULARITY-3):0 must read as zeros
60
- } else if ((PMP_GRANULARITY >= 8) &&
60
+ } else if ((PMP_GRANULARITY >= 3) &&
61
61
  (CSR[pmpcfg3].pmp14cfg[4] == 0)) {
62
62
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
63
63
  return CSR[pmpaddr14].ADDR & ~mask;
@@ -67,13 +67,13 @@ sw_read(): |
67
67
  return CSR[pmpaddr14].ADDR;
68
68
  }
69
69
  } else {
70
- if ((PMP_GRANULARITY >= 16) &&
70
+ if ((PMP_GRANULARITY >= 4) &&
71
71
  (CSR[pmpcfg2].pmp14cfg[4] == 1)) {
72
72
  return CSR[pmpaddr14].ADDR | {PMP_GRANULARITY-3{1'b1}};
73
73
 
74
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
74
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
75
75
  # bits (PMP_GRANULARITY-3):0 must read as zeros
76
- } else if ((PMP_GRANULARITY >= 8) &&
76
+ } else if ((PMP_GRANULARITY >= 3) &&
77
77
  (CSR[pmpcfg2].pmp14cfg[4] == 0)) {
78
78
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
79
79
  return CSR[pmpaddr14].ADDR & ~mask;
@@ -48,16 +48,16 @@ fields:
48
48
  return csr_value.ADDR;
49
49
  }
50
50
  sw_read(): |
51
- # when the mode is NAPOT and PMP_GRANULARITY >= 16,
51
+ # when the mode is NAPOT and PMP_GRANULARITY >= 4,
52
52
  # bits (PMP_GRANULARITY-4):0 must read as ones
53
53
  if (MXLEN == 32) {
54
- if ((PMP_GRANULARITY >= 16) &&
54
+ if ((PMP_GRANULARITY >= 4) &&
55
55
  (CSR[pmpcfg3].pmp15cfg[4] == 1)) {
56
56
  return CSR[pmpaddr15].ADDR | {PMP_GRANULARITY-3{1'b1}};
57
57
 
58
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
58
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
59
59
  # bits (PMP_GRANULARITY-3):0 must read as zeros
60
- } else if ((PMP_GRANULARITY >= 8) &&
60
+ } else if ((PMP_GRANULARITY >= 3) &&
61
61
  (CSR[pmpcfg3].pmp15cfg[4] == 0)) {
62
62
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
63
63
  return CSR[pmpaddr15].ADDR & ~mask;
@@ -67,13 +67,13 @@ sw_read(): |
67
67
  return CSR[pmpaddr15].ADDR;
68
68
  }
69
69
  } else {
70
- if ((PMP_GRANULARITY >= 16) &&
70
+ if ((PMP_GRANULARITY >= 4) &&
71
71
  (CSR[pmpcfg2].pmp15cfg[4] == 1)) {
72
72
  return CSR[pmpaddr15].ADDR | {PMP_GRANULARITY-3{1'b1}};
73
73
 
74
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
74
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
75
75
  # bits (PMP_GRANULARITY-3):0 must read as zeros
76
- } else if ((PMP_GRANULARITY >= 8) &&
76
+ } else if ((PMP_GRANULARITY >= 3) &&
77
77
  (CSR[pmpcfg2].pmp15cfg[4] == 0)) {
78
78
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
79
79
  return CSR[pmpaddr15].ADDR & ~mask;
@@ -48,16 +48,16 @@ fields:
48
48
  return csr_value.ADDR;
49
49
  }
50
50
  sw_read(): |
51
- # when the mode is NAPOT and PMP_GRANULARITY >= 16,
51
+ # when the mode is NAPOT and PMP_GRANULARITY >= 4,
52
52
  # bits (PMP_GRANULARITY-4):0 must read as ones
53
53
  if (MXLEN == 32) {
54
- if ((PMP_GRANULARITY >= 16) &&
54
+ if ((PMP_GRANULARITY >= 4) &&
55
55
  (CSR[pmpcfg4].pmp16cfg[4] == 1)) {
56
56
  return CSR[pmpaddr16].ADDR | {PMP_GRANULARITY-3{1'b1}};
57
57
 
58
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
58
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
59
59
  # bits (PMP_GRANULARITY-3):0 must read as zeros
60
- } else if ((PMP_GRANULARITY >= 8) &&
60
+ } else if ((PMP_GRANULARITY >= 3) &&
61
61
  (CSR[pmpcfg4].pmp16cfg[4] == 0)) {
62
62
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
63
63
  return CSR[pmpaddr16].ADDR & ~mask;
@@ -67,13 +67,13 @@ sw_read(): |
67
67
  return CSR[pmpaddr16].ADDR;
68
68
  }
69
69
  } else {
70
- if ((PMP_GRANULARITY >= 16) &&
70
+ if ((PMP_GRANULARITY >= 4) &&
71
71
  (CSR[pmpcfg4].pmp16cfg[4] == 1)) {
72
72
  return CSR[pmpaddr16].ADDR | {PMP_GRANULARITY-3{1'b1}};
73
73
 
74
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
74
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
75
75
  # bits (PMP_GRANULARITY-3):0 must read as zeros
76
- } else if ((PMP_GRANULARITY >= 8) &&
76
+ } else if ((PMP_GRANULARITY >= 3) &&
77
77
  (CSR[pmpcfg4].pmp16cfg[4] == 0)) {
78
78
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
79
79
  return CSR[pmpaddr16].ADDR & ~mask;
@@ -48,16 +48,16 @@ fields:
48
48
  return csr_value.ADDR;
49
49
  }
50
50
  sw_read(): |
51
- # when the mode is NAPOT and PMP_GRANULARITY >= 16,
51
+ # when the mode is NAPOT and PMP_GRANULARITY >= 4,
52
52
  # bits (PMP_GRANULARITY-4):0 must read as ones
53
53
  if (MXLEN == 32) {
54
- if ((PMP_GRANULARITY >= 16) &&
54
+ if ((PMP_GRANULARITY >= 4) &&
55
55
  (CSR[pmpcfg4].pmp17cfg[4] == 1)) {
56
56
  return CSR[pmpaddr17].ADDR | {PMP_GRANULARITY-3{1'b1}};
57
57
 
58
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
58
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
59
59
  # bits (PMP_GRANULARITY-3):0 must read as zeros
60
- } else if ((PMP_GRANULARITY >= 8) &&
60
+ } else if ((PMP_GRANULARITY >= 3) &&
61
61
  (CSR[pmpcfg4].pmp17cfg[4] == 0)) {
62
62
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
63
63
  return CSR[pmpaddr17].ADDR & ~mask;
@@ -67,13 +67,13 @@ sw_read(): |
67
67
  return CSR[pmpaddr17].ADDR;
68
68
  }
69
69
  } else {
70
- if ((PMP_GRANULARITY >= 16) &&
70
+ if ((PMP_GRANULARITY >= 4) &&
71
71
  (CSR[pmpcfg4].pmp17cfg[4] == 1)) {
72
72
  return CSR[pmpaddr17].ADDR | {PMP_GRANULARITY-3{1'b1}};
73
73
 
74
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
74
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
75
75
  # bits (PMP_GRANULARITY-3):0 must read as zeros
76
- } else if ((PMP_GRANULARITY >= 8) &&
76
+ } else if ((PMP_GRANULARITY >= 3) &&
77
77
  (CSR[pmpcfg4].pmp17cfg[4] == 0)) {
78
78
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
79
79
  return CSR[pmpaddr17].ADDR & ~mask;
@@ -48,16 +48,16 @@ fields:
48
48
  return csr_value.ADDR;
49
49
  }
50
50
  sw_read(): |
51
- # when the mode is NAPOT and PMP_GRANULARITY >= 16,
51
+ # when the mode is NAPOT and PMP_GRANULARITY >= 4,
52
52
  # bits (PMP_GRANULARITY-4):0 must read as ones
53
53
  if (MXLEN == 32) {
54
- if ((PMP_GRANULARITY >= 16) &&
54
+ if ((PMP_GRANULARITY >= 4) &&
55
55
  (CSR[pmpcfg4].pmp18cfg[4] == 1)) {
56
56
  return CSR[pmpaddr18].ADDR | {PMP_GRANULARITY-3{1'b1}};
57
57
 
58
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
58
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
59
59
  # bits (PMP_GRANULARITY-3):0 must read as zeros
60
- } else if ((PMP_GRANULARITY >= 8) &&
60
+ } else if ((PMP_GRANULARITY >= 3) &&
61
61
  (CSR[pmpcfg4].pmp18cfg[4] == 0)) {
62
62
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
63
63
  return CSR[pmpaddr18].ADDR & ~mask;
@@ -67,13 +67,13 @@ sw_read(): |
67
67
  return CSR[pmpaddr18].ADDR;
68
68
  }
69
69
  } else {
70
- if ((PMP_GRANULARITY >= 16) &&
70
+ if ((PMP_GRANULARITY >= 4) &&
71
71
  (CSR[pmpcfg4].pmp18cfg[4] == 1)) {
72
72
  return CSR[pmpaddr18].ADDR | {PMP_GRANULARITY-3{1'b1}};
73
73
 
74
- # when the mode is OFF or TOR and PMP_GRANULARITY >= 8,
74
+ # when the mode is OFF or TOR and PMP_GRANULARITY >= 3,
75
75
  # bits (PMP_GRANULARITY-3):0 must read as zeros
76
- } else if ((PMP_GRANULARITY >= 8) &&
76
+ } else if ((PMP_GRANULARITY >= 3) &&
77
77
  (CSR[pmpcfg4].pmp18cfg[4] == 0)) {
78
78
  Bits<PHYS_ADDR_WIDTH-2> mask = {PMP_GRANULARITY-2{1'b1}};
79
79
  return CSR[pmpaddr18].ADDR & ~mask;