udb 0.1.14 → 0.1.15
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.
- checksums.yaml +4 -4
- data/.data/cfgs/example_rv64_with_overlay.yaml +5 -6
- data/.data/cfgs/mc100-32-full-example.yaml +2 -2
- data/.data/cfgs/qc_iu.yaml +2 -2
- data/.data/cfgs/rv32-riscv-tests.yaml +4 -4
- data/.data/cfgs/rv32-vector.yaml +4 -4
- data/.data/cfgs/rv64-riscv-tests.yaml +4 -4
- data/.data/cfgs/rv64-vector.yaml +4 -4
- data/.data/spec/schemas/README.adoc +3 -0
- data/.data/spec/schemas/schema_defs.json +3 -3
- data/.data/spec/std/isa/csr/H/hcounteren.layout +3 -3
- data/.data/spec/std/isa/csr/H/hcounteren.yaml +31 -31
- data/.data/spec/std/isa/csr/H/htinst.yaml +3 -3
- data/.data/spec/std/isa/csr/H/htval.yaml +3 -3
- data/.data/spec/std/isa/csr/H/mtinst.yaml +1 -1
- data/.data/spec/std/isa/csr/Smcntrpmf/mcyclecfg.yaml +1 -1
- data/.data/spec/std/isa/csr/Smcntrpmf/mcyclecfgh.yaml +1 -1
- data/.data/spec/std/isa/csr/Smcntrpmf/minstretcfg.yaml +1 -1
- data/.data/spec/std/isa/csr/Smcntrpmf/minstretcfgh.yaml +1 -1
- data/.data/spec/std/isa/csr/Sscofpmf/scountovf.layout +1 -1
- data/.data/spec/std/isa/csr/Sscofpmf/scountovf.yaml +29 -29
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter10.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter10h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter11.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter11h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter12.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter12h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter13.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter13h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter14.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter14h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter15.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter15h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter16.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter16h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter17.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter17h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter18.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter18h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter19.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter19h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter20.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter20h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter21.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter21h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter22.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter22h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter23.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter23h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter24.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter24h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter25.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter25h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter26.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter26h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter27.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter27h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter28.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter28h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter29.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter29h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter3.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter30.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter30h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter31.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter31h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter3h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter4.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter4h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter5.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter5h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter6.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter6h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter7.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter7h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter8.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter8h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter9.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter9h.yaml +1 -1
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounterN.layout +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounterNh.layout +1 -1
- data/.data/spec/std/isa/csr/hstatus.yaml +1 -1
- data/.data/spec/std/isa/csr/mcycle.yaml +6 -6
- data/.data/spec/std/isa/csr/minstret.yaml +3 -3
- data/.data/spec/std/isa/csr/minstreth.yaml +1 -1
- data/.data/spec/std/isa/csr/mstatus.yaml +13 -19
- data/.data/spec/std/isa/csr/mtvec.yaml +16 -57
- data/.data/spec/std/isa/csr/sie.yaml +30 -4
- data/.data/spec/std/isa/csr/sip.yaml +16 -2
- data/.data/spec/std/isa/csr/stvec.yaml +11 -12
- data/.data/spec/std/isa/csr/vstval.yaml +1 -1
- data/.data/spec/std/isa/csr/vstvec.yaml +14 -15
- data/.data/spec/std/isa/ext/Q.yaml +1 -1
- data/.data/spec/std/isa/ext/Shlcofideleg.yaml +24 -0
- data/.data/spec/std/isa/ext/Shvstvecd.yaml +2 -2
- data/.data/spec/std/isa/ext/Sspm.yaml +5 -0
- data/.data/spec/std/isa/ext/Sstvecd.yaml +2 -2
- data/.data/spec/std/isa/ext/Sstvecv.yaml +2 -2
- data/.data/spec/std/isa/ext/Supm.yaml +17 -0
- data/.data/spec/std/isa/ext/Zcb.yaml +3 -0
- data/.data/spec/std/isa/ext/Zfbfmin.yaml +3 -5
- data/.data/spec/std/isa/ext/Ziccid.yaml +29 -0
- data/.data/spec/std/isa/ext/Zicfilp.yaml +5 -1
- data/.data/spec/std/isa/ext/Zicfiss.yaml +20 -1
- data/.data/spec/std/isa/ext/Zihpm.yaml +3 -0
- data/.data/spec/std/isa/ext/Zilx.yaml +58 -0
- data/.data/spec/std/isa/ext/Zkt.yaml +33 -1
- data/.data/spec/std/isa/ext/Zvabd.yaml +21 -0
- data/.data/spec/std/isa/ext/Zvbc.yaml +3 -0
- data/.data/spec/std/isa/ext/Zvkb.yaml +3 -0
- data/.data/spec/std/isa/ext/Zvkg.yaml +3 -0
- data/.data/spec/std/isa/ext/Zvkned.yaml +3 -0
- data/.data/spec/std/isa/ext/Zvknha.yaml +3 -0
- data/.data/spec/std/isa/ext/Zvknhb.yaml +4 -2
- data/.data/spec/std/isa/ext/Zvksed.yaml +3 -0
- data/.data/spec/std/isa/ext/Zvksh.yaml +3 -0
- data/.data/spec/std/isa/ext/Zvkt.yaml +3 -0
- data/.data/spec/std/isa/inst/C/c.add.yaml +1 -0
- data/.data/spec/std/isa/inst/C/c.addi.yaml +1 -0
- data/.data/spec/std/isa/inst/C/c.addiw.yaml +1 -0
- data/.data/spec/std/isa/inst/C/c.addw.yaml +1 -0
- data/.data/spec/std/isa/inst/C/c.and.yaml +1 -0
- data/.data/spec/std/isa/inst/C/c.andi.yaml +1 -0
- data/.data/spec/std/isa/inst/C/c.lui.yaml +1 -0
- data/.data/spec/std/isa/inst/C/c.mv.yaml +1 -0
- data/.data/spec/std/isa/inst/C/c.nop.yaml +13 -2
- data/.data/spec/std/isa/inst/C/c.or.yaml +1 -0
- data/.data/spec/std/isa/inst/C/c.slli.yaml +1 -0
- data/.data/spec/std/isa/inst/C/c.srai.yaml +1 -0
- data/.data/spec/std/isa/inst/C/c.srli.yaml +1 -0
- data/.data/spec/std/isa/inst/C/c.sub.yaml +1 -0
- data/.data/spec/std/isa/inst/C/c.subw.yaml +1 -0
- data/.data/spec/std/isa/inst/C/c.xor.yaml +1 -0
- data/.data/spec/std/isa/inst/D/fld.yaml +1 -0
- data/.data/spec/std/isa/inst/D/fsd.yaml +1 -0
- data/.data/spec/std/isa/inst/F/fadd.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fcvt.l.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fcvt.lu.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fcvt.s.l.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fcvt.s.lu.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fcvt.s.wu.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fcvt.w.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fcvt.wu.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fdiv.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/feq.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fle.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fleq.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/flt.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fltq.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/flw.yaml +2 -1
- data/.data/spec/std/isa/inst/F/fmadd.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fmax.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fmin.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fmsub.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fmul.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fmv.w.x.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fmv.x.w.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fnmadd.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fnmsub.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fsgnj.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fsgnjn.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fsgnjx.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fsqrt.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fsub.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fsw.yaml +2 -1
- data/.data/spec/std/isa/inst/I/sd.yaml +1 -1
- data/.data/spec/std/isa/inst/Q/fadd.q.yaml +2 -2
- data/.data/spec/std/isa/inst/Q/fclass.q.yaml +5 -5
- data/.data/spec/std/isa/inst/Q/fleq.q.yaml +0 -1
- data/.data/spec/std/isa/inst/Q/fli.q.yaml +1 -1
- data/.data/spec/std/isa/inst/Q/flq.yaml +1 -0
- data/.data/spec/std/isa/inst/Q/fltq.q.yaml +0 -1
- data/.data/spec/std/isa/inst/Q/fmaxm.q.yaml +0 -1
- data/.data/spec/std/isa/inst/Q/fminm.q.yaml +0 -1
- data/.data/spec/std/isa/inst/Q/fmvp.q.x.yaml +1 -1
- data/.data/spec/std/isa/inst/Q/fsq.yaml +1 -0
- data/.data/spec/std/isa/inst/V/vmv.v.i.yaml +1 -0
- data/.data/spec/std/isa/inst/Zcb/c.mul.yaml +1 -0
- data/.data/spec/std/isa/inst/Zcb/c.not.yaml +1 -0
- data/.data/spec/std/isa/inst/Zcb/c.zext.b.yaml +2 -7
- data/.data/spec/std/isa/inst/Zcb/c.zext.w.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcmop/c.mop.1.yaml +2 -0
- data/.data/spec/std/isa/inst/Zcmop/c.mop.5.yaml +2 -0
- data/.data/spec/std/isa/inst/Zcmop/c.mop.N.layout +7 -0
- data/.data/spec/std/isa/inst/Zfa/fli.s.yaml +1 -1
- data/.data/spec/std/isa/inst/Zfa/fmaxm.s.yaml +1 -1
- data/.data/spec/std/isa/inst/Zfa/fminm.s.yaml +1 -1
- data/.data/spec/std/isa/inst/Zfa/fround.s.yaml +1 -1
- data/.data/spec/std/isa/inst/Zfa/froundnx.s.yaml +1 -1
- data/.data/spec/std/isa/inst/Zfh/flh.yaml +5 -2
- data/.data/spec/std/isa/inst/Zfh/fmv.h.x.yaml +3 -1
- data/.data/spec/std/isa/inst/Zfh/fmv.x.h.yaml +3 -1
- data/.data/spec/std/isa/inst/Zfh/fsh.yaml +4 -1
- data/.data/spec/std/isa/inst/Zicfiss/c.sspopchk.yaml +30 -0
- data/.data/spec/std/isa/inst/Zicfiss/c.sspush.yaml +29 -0
- data/.data/spec/std/isa/inst/Zicond/czero.eqz.yaml +1 -1
- data/.data/spec/std/isa/inst/Zicond/czero.nez.yaml +1 -1
- data/.data/spec/std/isa/inst/Zicsr/csrrw.yaml +12 -0
- data/.data/spec/std/isa/inst/Zilx/lxd.yaml +38 -0
- data/.data/spec/std/isa/inst/Zilx/lxh.yaml +35 -0
- data/.data/spec/std/isa/inst/Zilx/lxhu.yaml +35 -0
- data/.data/spec/std/isa/inst/Zilx/lxsb.yaml +40 -0
- data/.data/spec/std/isa/inst/Zilx/lxsbu.yaml +40 -0
- data/.data/spec/std/isa/inst/Zilx/lxsd.yaml +38 -0
- data/.data/spec/std/isa/inst/Zilx/lxsh.yaml +35 -0
- data/.data/spec/std/isa/inst/Zilx/lxshu.yaml +35 -0
- data/.data/spec/std/isa/inst/Zilx/lxsuwb.yaml +40 -0
- data/.data/spec/std/isa/inst/Zilx/lxsuwbu.yaml +40 -0
- data/.data/spec/std/isa/inst/Zilx/lxsuwd.yaml +39 -0
- data/.data/spec/std/isa/inst/Zilx/lxsuwh.yaml +40 -0
- data/.data/spec/std/isa/inst/Zilx/lxsuwhu.yaml +40 -0
- data/.data/spec/std/isa/inst/Zilx/lxsuww.yaml +40 -0
- data/.data/spec/std/isa/inst/Zilx/lxsuwwu.yaml +40 -0
- data/.data/spec/std/isa/inst/Zilx/lxsw.yaml +35 -0
- data/.data/spec/std/isa/inst/Zilx/lxswu.yaml +39 -0
- data/.data/spec/std/isa/inst/Zilx/lxw.yaml +35 -0
- data/.data/spec/std/isa/inst/Zilx/lxwu.yaml +39 -0
- data/.data/spec/std/isa/inst/Zvabd/vabd.vv.yaml +67 -0
- data/.data/spec/std/isa/inst/Zvabd/vabdu.vv.yaml +67 -0
- data/.data/spec/std/isa/inst/Zvabd/vabs.v.yaml +61 -0
- data/.data/spec/std/isa/inst/Zvabd/vwabda.vv.yaml +72 -0
- data/.data/spec/std/isa/inst/Zvabd/vwabdau.vv.yaml +72 -0
- data/.data/spec/std/isa/isa/fp.idl +42 -18
- data/.data/spec/std/isa/param/CACHE_BLOCK_SIZE.yaml +70 -6
- data/.data/spec/std/isa/param/ELEN.yaml +27 -5
- data/.data/spec/std/isa/param/HCOUNTENABLE_EN.yaml +13 -0
- data/.data/spec/std/isa/param/HPM_COUNTER_EN.yaml +13 -3
- data/.data/spec/std/isa/param/HPM_EVENTS.yaml +0 -3
- data/.data/spec/std/isa/param/MCOUNTENABLE_EN.yaml +8 -0
- data/.data/spec/std/isa/param/MTVEC_BASE_ALIGNMENT_DIRECT.yaml +71 -65
- data/.data/spec/std/isa/param/MTVEC_BASE_ALIGNMENT_VECTORED.yaml +71 -65
- data/.data/spec/std/isa/param/STVAL_WIDTH.yaml +3 -2
- data/.data/spec/std/isa/param/STVEC_BASE_ALIGNMENT_VECTORED.yaml +100 -0
- data/.data/spec/std/isa/param/STVEC_MODES.yaml +31 -0
- data/.data/spec/std/isa/param/SV32_VSMODE_TRANSLATION.yaml +1 -1
- data/.data/spec/std/isa/param/SXLEN.yaml +2 -2
- data/.data/spec/std/isa/param/TINST_VALUE_ON_FINAL_INSTRUCTION_GUEST_PAGE_FAULT.yaml +1 -1
- data/.data/spec/std/isa/param/TINST_VALUE_ON_FINAL_LOAD_GUEST_PAGE_FAULT.yaml +1 -1
- data/.data/spec/std/isa/param/TINST_VALUE_ON_FINAL_STORE_AMO_GUEST_PAGE_FAULT.yaml +1 -1
- data/.data/spec/std/isa/param/TINST_VALUE_ON_LOAD_ADDRESS_MISALIGNED.yaml +1 -1
- data/.data/spec/std/isa/param/TINST_VALUE_ON_STORE_AMO_ADDRESS_MISALIGNED.yaml +1 -1
- data/.data/spec/std/isa/param/UXLEN.yaml +1 -1
- data/.data/spec/std/isa/param/VLEN.yaml +16 -7
- data/.data/spec/std/isa/param/VSTVEC_MODES.yaml +31 -0
- data/lib/udb/Z3_VERSION +1 -1
- data/lib/udb/obj/csr.rb +1 -1
- data/lib/udb/obj/csr_field.rb +1 -1
- data/lib/udb/obj/extension.rb +1 -1
- data/lib/udb/version.rb +1 -1
- data/lib/udb/version_spec.rb +1 -1
- data/lib/udb/z3.rb +29 -7
- metadata +37 -8
- data/.data/spec/std/isa/param/STVEC_MODE_DIRECT.yaml +0 -21
- data/.data/spec/std/isa/param/STVEC_MODE_VECTORED.yaml +0 -19
- data/.data/spec/std/isa/param/VSTVEC_MODE_DIRECT.yaml +0 -21
- data/.data/spec/std/isa/param/VSTVEC_MODE_VECTORED.yaml +0 -21
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0c4e7059a447d2f815adfb15bfe6152a60e2a238167245bc3fbaf26de73859c3
|
|
4
|
+
data.tar.gz: fd573fc43f859b0fd40cb3a283015af2aa4a7f33fe1c2c2b1285f6e5fde2a3a9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cf76d15fcf97eba3aa58b29fbb4f6a45d486541f1bcba5ca35b3d7b15a67e957e9d60eaf9b7a1e2b7e53eeb4ddf0b6d9f0b1fbbdc6ba89befcfbbb5b1b8804be
|
|
7
|
+
data.tar.gz: a3051975397d7412e1cd39c2a4e352f2d42763c0d2663fb553198ca9c175725dbf47694f48a56c8615219b5d457a1aed20cb89b1094d75382279dfe23c619d63
|
|
@@ -563,8 +563,8 @@ params:
|
|
|
563
563
|
SV48X4_TRANSLATION: true
|
|
564
564
|
SV57X4_TRANSLATION: false
|
|
565
565
|
VMID_WIDTH: 8
|
|
566
|
-
|
|
567
|
-
|
|
566
|
+
STVEC_MODES: [0, 1]
|
|
567
|
+
STVEC_BASE_ALIGNMENT_VECTORED: 0x4
|
|
568
568
|
SATP_MODE_BARE: true
|
|
569
569
|
VSSTAGE_MODE_BARE: true
|
|
570
570
|
REPORT_GPA_IN_TVAL_ON_LOAD_GUEST_PAGE_FAULT: true
|
|
@@ -591,16 +591,15 @@ params:
|
|
|
591
591
|
MTVEC_MODES: [0, 1]
|
|
592
592
|
MTVEC_ACCESS: rw
|
|
593
593
|
MTVEC_ILLEGAL_WRITE_BEHAVIOR: retain
|
|
594
|
-
MTVEC_BASE_ALIGNMENT_DIRECT:
|
|
595
|
-
MTVEC_BASE_ALIGNMENT_VECTORED:
|
|
594
|
+
MTVEC_BASE_ALIGNMENT_DIRECT: 0x4
|
|
595
|
+
MTVEC_BASE_ALIGNMENT_VECTORED: 0x4
|
|
596
596
|
MSTATUS_FS_LEGAL_VALUES: [0, 1, 2, 3]
|
|
597
597
|
HW_MSTATUS_FS_DIRTY_UPDATE: precise
|
|
598
598
|
MSTATUS_VS_LEGAL_VALUES: [0, 1, 2, 3]
|
|
599
599
|
HW_MSTATUS_VS_DIRTY_UPDATE: precise
|
|
600
600
|
FORCE_UPGRADE_CBO_INVAL_TO_FLUSH: true
|
|
601
601
|
REPORT_GPA_IN_HTVAL_ON_GUEST_PAGE_FAULT: true
|
|
602
|
-
|
|
603
|
-
VSTVEC_MODE_VECTORED: true
|
|
602
|
+
VSTVEC_MODES: [0, 1]
|
|
604
603
|
TRAP_ON_ECALL_FROM_VS: true
|
|
605
604
|
TRAP_ON_ECALL_FROM_S: true
|
|
606
605
|
TRAP_ON_ECALL_FROM_M: true
|
|
@@ -50,8 +50,8 @@ params:
|
|
|
50
50
|
MTVEC_ACCESS: rw
|
|
51
51
|
MTVEC_ILLEGAL_WRITE_BEHAVIOR: retain
|
|
52
52
|
MTVEC_MODES: [0, 1]
|
|
53
|
-
MTVEC_BASE_ALIGNMENT_DIRECT:
|
|
54
|
-
MTVEC_BASE_ALIGNMENT_VECTORED:
|
|
53
|
+
MTVEC_BASE_ALIGNMENT_DIRECT: 0x4
|
|
54
|
+
MTVEC_BASE_ALIGNMENT_VECTORED: 0x4
|
|
55
55
|
MUTABLE_MISA_C: false
|
|
56
56
|
MUTABLE_MISA_M: false
|
|
57
57
|
TIME_CSR_IMPLEMENTED: false
|
data/.data/cfgs/qc_iu.yaml
CHANGED
|
@@ -186,6 +186,6 @@ params:
|
|
|
186
186
|
MCOUNTINHIBIT_IMPLEMENTED: true
|
|
187
187
|
MTVEC_ACCESS: rw
|
|
188
188
|
MTVEC_ILLEGAL_WRITE_BEHAVIOR: retain
|
|
189
|
-
MTVEC_BASE_ALIGNMENT_DIRECT:
|
|
190
|
-
MTVEC_BASE_ALIGNMENT_VECTORED:
|
|
189
|
+
MTVEC_BASE_ALIGNMENT_DIRECT: 0x4
|
|
190
|
+
MTVEC_BASE_ALIGNMENT_VECTORED: 0x4
|
|
191
191
|
TIME_CSR_IMPLEMENTED: true
|
|
@@ -58,8 +58,8 @@ params:
|
|
|
58
58
|
MCOUNTINHIBIT_IMPLEMENTED: true
|
|
59
59
|
MTVEC_ACCESS: rw
|
|
60
60
|
MTVEC_MODES: [0, 1]
|
|
61
|
-
MTVEC_BASE_ALIGNMENT_DIRECT:
|
|
62
|
-
MTVEC_BASE_ALIGNMENT_VECTORED:
|
|
61
|
+
MTVEC_BASE_ALIGNMENT_DIRECT: 0x4
|
|
62
|
+
MTVEC_BASE_ALIGNMENT_VECTORED: 0x4
|
|
63
63
|
MTVEC_ILLEGAL_WRITE_BEHAVIOR: retain
|
|
64
64
|
MUTABLE_MISA_C: false
|
|
65
65
|
MUTABLE_MISA_M: false
|
|
@@ -188,8 +188,8 @@ params:
|
|
|
188
188
|
false,
|
|
189
189
|
false,
|
|
190
190
|
]
|
|
191
|
-
|
|
192
|
-
|
|
191
|
+
STVEC_MODES: [0, 1]
|
|
192
|
+
STVEC_BASE_ALIGNMENT_VECTORED: 0x4
|
|
193
193
|
SATP_MODE_BARE: true
|
|
194
194
|
TRAP_ON_ECALL_FROM_S: true
|
|
195
195
|
MSTATUS_VS_LEGAL_VALUES: [0]
|
data/.data/cfgs/rv32-vector.yaml
CHANGED
|
@@ -68,8 +68,8 @@ params:
|
|
|
68
68
|
MCOUNTINHIBIT_IMPLEMENTED: true
|
|
69
69
|
MTVEC_ACCESS: rw
|
|
70
70
|
MTVEC_MODES: [0, 1]
|
|
71
|
-
MTVEC_BASE_ALIGNMENT_DIRECT:
|
|
72
|
-
MTVEC_BASE_ALIGNMENT_VECTORED:
|
|
71
|
+
MTVEC_BASE_ALIGNMENT_DIRECT: 0x4
|
|
72
|
+
MTVEC_BASE_ALIGNMENT_VECTORED: 0x4
|
|
73
73
|
MTVEC_ILLEGAL_WRITE_BEHAVIOR: retain
|
|
74
74
|
MUTABLE_MISA_C: false
|
|
75
75
|
MUTABLE_MISA_D: false
|
|
@@ -200,8 +200,8 @@ params:
|
|
|
200
200
|
false,
|
|
201
201
|
false,
|
|
202
202
|
]
|
|
203
|
-
|
|
204
|
-
|
|
203
|
+
STVEC_MODES: [0, 1]
|
|
204
|
+
STVEC_BASE_ALIGNMENT_VECTORED: 0x4
|
|
205
205
|
SATP_MODE_BARE: true
|
|
206
206
|
TRAP_ON_ECALL_FROM_S: true
|
|
207
207
|
TRAP_ON_ECALL_FROM_U: true
|
|
@@ -56,8 +56,8 @@ params:
|
|
|
56
56
|
MCOUNTINHIBIT_IMPLEMENTED: true
|
|
57
57
|
MTVEC_ACCESS: rw
|
|
58
58
|
MTVEC_MODES: [0, 1]
|
|
59
|
-
MTVEC_BASE_ALIGNMENT_DIRECT:
|
|
60
|
-
MTVEC_BASE_ALIGNMENT_VECTORED:
|
|
59
|
+
MTVEC_BASE_ALIGNMENT_DIRECT: 0x4
|
|
60
|
+
MTVEC_BASE_ALIGNMENT_VECTORED: 0x4
|
|
61
61
|
MTVEC_ILLEGAL_WRITE_BEHAVIOR: retain
|
|
62
62
|
MUTABLE_MISA_C: false
|
|
63
63
|
MUTABLE_MISA_M: false
|
|
@@ -186,8 +186,8 @@ params:
|
|
|
186
186
|
false,
|
|
187
187
|
false,
|
|
188
188
|
]
|
|
189
|
-
|
|
190
|
-
|
|
189
|
+
STVEC_MODES: [0, 1]
|
|
190
|
+
STVEC_BASE_ALIGNMENT_VECTORED: 0x4
|
|
191
191
|
SATP_MODE_BARE: true
|
|
192
192
|
TRAP_ON_ECALL_FROM_S: true
|
|
193
193
|
TRAP_ON_ECALL_FROM_U: true
|
data/.data/cfgs/rv64-vector.yaml
CHANGED
|
@@ -67,8 +67,8 @@ params:
|
|
|
67
67
|
MCOUNTINHIBIT_IMPLEMENTED: true
|
|
68
68
|
MTVEC_ACCESS: rw
|
|
69
69
|
MTVEC_MODES: [0, 1]
|
|
70
|
-
MTVEC_BASE_ALIGNMENT_DIRECT:
|
|
71
|
-
MTVEC_BASE_ALIGNMENT_VECTORED:
|
|
70
|
+
MTVEC_BASE_ALIGNMENT_DIRECT: 0x4
|
|
71
|
+
MTVEC_BASE_ALIGNMENT_VECTORED: 0x4
|
|
72
72
|
MTVEC_ILLEGAL_WRITE_BEHAVIOR: retain
|
|
73
73
|
MUTABLE_MISA_C: false
|
|
74
74
|
MUTABLE_MISA_D: false
|
|
@@ -198,8 +198,8 @@ params:
|
|
|
198
198
|
false,
|
|
199
199
|
false,
|
|
200
200
|
]
|
|
201
|
-
|
|
202
|
-
|
|
201
|
+
STVEC_MODES: [0, 1]
|
|
202
|
+
STVEC_BASE_ALIGNMENT_VECTORED: 0x4
|
|
203
203
|
SATP_MODE_BARE: true
|
|
204
204
|
TRAP_ON_ECALL_FROM_S: true
|
|
205
205
|
TRAP_ON_ECALL_FROM_U: true
|
|
@@ -80,6 +80,9 @@ version should be released. Follow these steps:
|
|
|
80
80
|
. The CI `schema-release` workflow will automatically publish the new version
|
|
81
81
|
as a GitHub release under the tag `schemas/<schema_name>/<version>` when the
|
|
82
82
|
changes are merged to `main`.
|
|
83
|
+
. Published schema version assets are immutable. If a release already exists
|
|
84
|
+
with different content, the publish workflow fails; bump the schema `$id`
|
|
85
|
+
instead of overwriting an existing version.
|
|
83
86
|
. Previous schema versions remain available via their GitHub release tags and
|
|
84
87
|
at `https://riscv.github.io/riscv-unified-db/schemas/<schema_name>/<old-version>/<schema_name>`.
|
|
85
88
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$id": "v0.
|
|
3
|
+
"$id": "v0.2",
|
|
4
4
|
"title": "Common patterns used by all schemas",
|
|
5
5
|
"$defs": {
|
|
6
6
|
"$source": {
|
|
@@ -863,7 +863,7 @@
|
|
|
863
863
|
"description": "An unsigned power of 2 that fits in 32 bits",
|
|
864
864
|
"type": "integer",
|
|
865
865
|
"enum": [
|
|
866
|
-
1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048,
|
|
866
|
+
1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384,
|
|
867
867
|
32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4194304,
|
|
868
868
|
8388608, 16777216, 33554432, 67108864, 134217728, 268435456, 536870912,
|
|
869
869
|
1073741824, 2147483648
|
|
@@ -873,7 +873,7 @@
|
|
|
873
873
|
"description": "An unsigned power of 2 that fits in 64 bits",
|
|
874
874
|
"type": "integer",
|
|
875
875
|
"enum": [
|
|
876
|
-
1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048,
|
|
876
|
+
1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384,
|
|
877
877
|
32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4194304,
|
|
878
878
|
8388608, 16777216, 33554432, 67108864, 134217728, 268435456, 536870912,
|
|
879
879
|
1073741824, 2147483648, 4294967296, 8589934592, 17179869184,
|
|
@@ -76,7 +76,7 @@ fields:
|
|
|
76
76
|
|
|
77
77
|
[separator="!",%autowidth]
|
|
78
78
|
!===
|
|
79
|
-
.2+h! [.rotate]#`hcounteren.TM`# .2+h! [.rotate]#`mcounteren.TM`# .2+h! [.rotate]#`scounteren.TM`# 2+^.>! `
|
|
79
|
+
.2+h! [.rotate]#`hcounteren.TM`# .2+h! [.rotate]#`mcounteren.TM`# .2+h! [.rotate]#`scounteren.TM`# 2+^.>! `time` access behavior
|
|
80
80
|
.>h! VS-mode .>h! VU-mode
|
|
81
81
|
|
|
82
82
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -116,7 +116,7 @@ fields:
|
|
|
116
116
|
|
|
117
117
|
[separator="!",%autowidth]
|
|
118
118
|
!===
|
|
119
|
-
.2+h! [.rotate]#`hcounteren.IR`# .2+h! [.rotate]#`mcounteren.IR`# .2+h! [.rotate]#`scounteren.IR`# 2+^.>! `
|
|
119
|
+
.2+h! [.rotate]#`hcounteren.IR`# .2+h! [.rotate]#`mcounteren.IR`# .2+h! [.rotate]#`scounteren.IR`# 2+^.>! `instret` access behavior
|
|
120
120
|
.>h! VS-mode .>h! VU-mode
|
|
121
121
|
|
|
122
122
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -154,7 +154,7 @@ fields:
|
|
|
154
154
|
|
|
155
155
|
[separator="!",%autowidth]
|
|
156
156
|
!===
|
|
157
|
-
.2+h! [.rotate]#`hcounteren.HPM<%= hpm_num %>`# .2+h! [.rotate]#`mcounteren.HPM<%= hpm_num %>`# .2+h! [.rotate]#`scounteren.HPM<%= hpm_num %>`# 2+^.>! `
|
|
157
|
+
.2+h! [.rotate]#`hcounteren.HPM<%= hpm_num %>`# .2+h! [.rotate]#`mcounteren.HPM<%= hpm_num %>`# .2+h! [.rotate]#`scounteren.HPM<%= hpm_num %>`# 2+^.>! `hpmcounter<%= hpm_num %>` access behavior
|
|
158
158
|
.>h! VS-mode .>h! VU-mode
|
|
159
159
|
|
|
160
160
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -79,7 +79,7 @@ fields:
|
|
|
79
79
|
|
|
80
80
|
[separator="!",%autowidth]
|
|
81
81
|
!===
|
|
82
|
-
.2+h! [.rotate]#`hcounteren.TM`# .2+h! [.rotate]#`mcounteren.TM`# .2+h! [.rotate]#`scounteren.TM`# 2+^.>! `
|
|
82
|
+
.2+h! [.rotate]#`hcounteren.TM`# .2+h! [.rotate]#`mcounteren.TM`# .2+h! [.rotate]#`scounteren.TM`# 2+^.>! `time` access behavior
|
|
83
83
|
.>h! VS-mode .>h! VU-mode
|
|
84
84
|
|
|
85
85
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -119,7 +119,7 @@ fields:
|
|
|
119
119
|
|
|
120
120
|
[separator="!",%autowidth]
|
|
121
121
|
!===
|
|
122
|
-
.2+h! [.rotate]#`hcounteren.IR`# .2+h! [.rotate]#`mcounteren.IR`# .2+h! [.rotate]#`scounteren.IR`# 2+^.>! `
|
|
122
|
+
.2+h! [.rotate]#`hcounteren.IR`# .2+h! [.rotate]#`mcounteren.IR`# .2+h! [.rotate]#`scounteren.IR`# 2+^.>! `instret` access behavior
|
|
123
123
|
.>h! VS-mode .>h! VU-mode
|
|
124
124
|
|
|
125
125
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -156,7 +156,7 @@ fields:
|
|
|
156
156
|
|
|
157
157
|
[separator="!",%autowidth]
|
|
158
158
|
!===
|
|
159
|
-
.2+h! [.rotate]#`hcounteren.HPM3`# .2+h! [.rotate]#`mcounteren.HPM3`# .2+h! [.rotate]#`scounteren.HPM3`# 2+^.>! `
|
|
159
|
+
.2+h! [.rotate]#`hcounteren.HPM3`# .2+h! [.rotate]#`mcounteren.HPM3`# .2+h! [.rotate]#`scounteren.HPM3`# 2+^.>! `hpmcounter3` access behavior
|
|
160
160
|
.>h! VS-mode .>h! VU-mode
|
|
161
161
|
|
|
162
162
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -193,7 +193,7 @@ fields:
|
|
|
193
193
|
|
|
194
194
|
[separator="!",%autowidth]
|
|
195
195
|
!===
|
|
196
|
-
.2+h! [.rotate]#`hcounteren.HPM4`# .2+h! [.rotate]#`mcounteren.HPM4`# .2+h! [.rotate]#`scounteren.HPM4`# 2+^.>! `
|
|
196
|
+
.2+h! [.rotate]#`hcounteren.HPM4`# .2+h! [.rotate]#`mcounteren.HPM4`# .2+h! [.rotate]#`scounteren.HPM4`# 2+^.>! `hpmcounter4` access behavior
|
|
197
197
|
.>h! VS-mode .>h! VU-mode
|
|
198
198
|
|
|
199
199
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -230,7 +230,7 @@ fields:
|
|
|
230
230
|
|
|
231
231
|
[separator="!",%autowidth]
|
|
232
232
|
!===
|
|
233
|
-
.2+h! [.rotate]#`hcounteren.HPM5`# .2+h! [.rotate]#`mcounteren.HPM5`# .2+h! [.rotate]#`scounteren.HPM5`# 2+^.>! `
|
|
233
|
+
.2+h! [.rotate]#`hcounteren.HPM5`# .2+h! [.rotate]#`mcounteren.HPM5`# .2+h! [.rotate]#`scounteren.HPM5`# 2+^.>! `hpmcounter5` access behavior
|
|
234
234
|
.>h! VS-mode .>h! VU-mode
|
|
235
235
|
|
|
236
236
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -267,7 +267,7 @@ fields:
|
|
|
267
267
|
|
|
268
268
|
[separator="!",%autowidth]
|
|
269
269
|
!===
|
|
270
|
-
.2+h! [.rotate]#`hcounteren.HPM6`# .2+h! [.rotate]#`mcounteren.HPM6`# .2+h! [.rotate]#`scounteren.HPM6`# 2+^.>! `
|
|
270
|
+
.2+h! [.rotate]#`hcounteren.HPM6`# .2+h! [.rotate]#`mcounteren.HPM6`# .2+h! [.rotate]#`scounteren.HPM6`# 2+^.>! `hpmcounter6` access behavior
|
|
271
271
|
.>h! VS-mode .>h! VU-mode
|
|
272
272
|
|
|
273
273
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -304,7 +304,7 @@ fields:
|
|
|
304
304
|
|
|
305
305
|
[separator="!",%autowidth]
|
|
306
306
|
!===
|
|
307
|
-
.2+h! [.rotate]#`hcounteren.HPM7`# .2+h! [.rotate]#`mcounteren.HPM7`# .2+h! [.rotate]#`scounteren.HPM7`# 2+^.>! `
|
|
307
|
+
.2+h! [.rotate]#`hcounteren.HPM7`# .2+h! [.rotate]#`mcounteren.HPM7`# .2+h! [.rotate]#`scounteren.HPM7`# 2+^.>! `hpmcounter7` access behavior
|
|
308
308
|
.>h! VS-mode .>h! VU-mode
|
|
309
309
|
|
|
310
310
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -341,7 +341,7 @@ fields:
|
|
|
341
341
|
|
|
342
342
|
[separator="!",%autowidth]
|
|
343
343
|
!===
|
|
344
|
-
.2+h! [.rotate]#`hcounteren.HPM8`# .2+h! [.rotate]#`mcounteren.HPM8`# .2+h! [.rotate]#`scounteren.HPM8`# 2+^.>! `
|
|
344
|
+
.2+h! [.rotate]#`hcounteren.HPM8`# .2+h! [.rotate]#`mcounteren.HPM8`# .2+h! [.rotate]#`scounteren.HPM8`# 2+^.>! `hpmcounter8` access behavior
|
|
345
345
|
.>h! VS-mode .>h! VU-mode
|
|
346
346
|
|
|
347
347
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -378,7 +378,7 @@ fields:
|
|
|
378
378
|
|
|
379
379
|
[separator="!",%autowidth]
|
|
380
380
|
!===
|
|
381
|
-
.2+h! [.rotate]#`hcounteren.HPM9`# .2+h! [.rotate]#`mcounteren.HPM9`# .2+h! [.rotate]#`scounteren.HPM9`# 2+^.>! `
|
|
381
|
+
.2+h! [.rotate]#`hcounteren.HPM9`# .2+h! [.rotate]#`mcounteren.HPM9`# .2+h! [.rotate]#`scounteren.HPM9`# 2+^.>! `hpmcounter9` access behavior
|
|
382
382
|
.>h! VS-mode .>h! VU-mode
|
|
383
383
|
|
|
384
384
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -415,7 +415,7 @@ fields:
|
|
|
415
415
|
|
|
416
416
|
[separator="!",%autowidth]
|
|
417
417
|
!===
|
|
418
|
-
.2+h! [.rotate]#`hcounteren.HPM10`# .2+h! [.rotate]#`mcounteren.HPM10`# .2+h! [.rotate]#`scounteren.HPM10`# 2+^.>! `
|
|
418
|
+
.2+h! [.rotate]#`hcounteren.HPM10`# .2+h! [.rotate]#`mcounteren.HPM10`# .2+h! [.rotate]#`scounteren.HPM10`# 2+^.>! `hpmcounter10` access behavior
|
|
419
419
|
.>h! VS-mode .>h! VU-mode
|
|
420
420
|
|
|
421
421
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -452,7 +452,7 @@ fields:
|
|
|
452
452
|
|
|
453
453
|
[separator="!",%autowidth]
|
|
454
454
|
!===
|
|
455
|
-
.2+h! [.rotate]#`hcounteren.HPM11`# .2+h! [.rotate]#`mcounteren.HPM11`# .2+h! [.rotate]#`scounteren.HPM11`# 2+^.>! `
|
|
455
|
+
.2+h! [.rotate]#`hcounteren.HPM11`# .2+h! [.rotate]#`mcounteren.HPM11`# .2+h! [.rotate]#`scounteren.HPM11`# 2+^.>! `hpmcounter11` access behavior
|
|
456
456
|
.>h! VS-mode .>h! VU-mode
|
|
457
457
|
|
|
458
458
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -489,7 +489,7 @@ fields:
|
|
|
489
489
|
|
|
490
490
|
[separator="!",%autowidth]
|
|
491
491
|
!===
|
|
492
|
-
.2+h! [.rotate]#`hcounteren.HPM12`# .2+h! [.rotate]#`mcounteren.HPM12`# .2+h! [.rotate]#`scounteren.HPM12`# 2+^.>! `
|
|
492
|
+
.2+h! [.rotate]#`hcounteren.HPM12`# .2+h! [.rotate]#`mcounteren.HPM12`# .2+h! [.rotate]#`scounteren.HPM12`# 2+^.>! `hpmcounter12` access behavior
|
|
493
493
|
.>h! VS-mode .>h! VU-mode
|
|
494
494
|
|
|
495
495
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -526,7 +526,7 @@ fields:
|
|
|
526
526
|
|
|
527
527
|
[separator="!",%autowidth]
|
|
528
528
|
!===
|
|
529
|
-
.2+h! [.rotate]#`hcounteren.HPM13`# .2+h! [.rotate]#`mcounteren.HPM13`# .2+h! [.rotate]#`scounteren.HPM13`# 2+^.>! `
|
|
529
|
+
.2+h! [.rotate]#`hcounteren.HPM13`# .2+h! [.rotate]#`mcounteren.HPM13`# .2+h! [.rotate]#`scounteren.HPM13`# 2+^.>! `hpmcounter13` access behavior
|
|
530
530
|
.>h! VS-mode .>h! VU-mode
|
|
531
531
|
|
|
532
532
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -563,7 +563,7 @@ fields:
|
|
|
563
563
|
|
|
564
564
|
[separator="!",%autowidth]
|
|
565
565
|
!===
|
|
566
|
-
.2+h! [.rotate]#`hcounteren.HPM14`# .2+h! [.rotate]#`mcounteren.HPM14`# .2+h! [.rotate]#`scounteren.HPM14`# 2+^.>! `
|
|
566
|
+
.2+h! [.rotate]#`hcounteren.HPM14`# .2+h! [.rotate]#`mcounteren.HPM14`# .2+h! [.rotate]#`scounteren.HPM14`# 2+^.>! `hpmcounter14` access behavior
|
|
567
567
|
.>h! VS-mode .>h! VU-mode
|
|
568
568
|
|
|
569
569
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -600,7 +600,7 @@ fields:
|
|
|
600
600
|
|
|
601
601
|
[separator="!",%autowidth]
|
|
602
602
|
!===
|
|
603
|
-
.2+h! [.rotate]#`hcounteren.HPM15`# .2+h! [.rotate]#`mcounteren.HPM15`# .2+h! [.rotate]#`scounteren.HPM15`# 2+^.>! `
|
|
603
|
+
.2+h! [.rotate]#`hcounteren.HPM15`# .2+h! [.rotate]#`mcounteren.HPM15`# .2+h! [.rotate]#`scounteren.HPM15`# 2+^.>! `hpmcounter15` access behavior
|
|
604
604
|
.>h! VS-mode .>h! VU-mode
|
|
605
605
|
|
|
606
606
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -637,7 +637,7 @@ fields:
|
|
|
637
637
|
|
|
638
638
|
[separator="!",%autowidth]
|
|
639
639
|
!===
|
|
640
|
-
.2+h! [.rotate]#`hcounteren.HPM16`# .2+h! [.rotate]#`mcounteren.HPM16`# .2+h! [.rotate]#`scounteren.HPM16`# 2+^.>! `
|
|
640
|
+
.2+h! [.rotate]#`hcounteren.HPM16`# .2+h! [.rotate]#`mcounteren.HPM16`# .2+h! [.rotate]#`scounteren.HPM16`# 2+^.>! `hpmcounter16` access behavior
|
|
641
641
|
.>h! VS-mode .>h! VU-mode
|
|
642
642
|
|
|
643
643
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -674,7 +674,7 @@ fields:
|
|
|
674
674
|
|
|
675
675
|
[separator="!",%autowidth]
|
|
676
676
|
!===
|
|
677
|
-
.2+h! [.rotate]#`hcounteren.HPM17`# .2+h! [.rotate]#`mcounteren.HPM17`# .2+h! [.rotate]#`scounteren.HPM17`# 2+^.>! `
|
|
677
|
+
.2+h! [.rotate]#`hcounteren.HPM17`# .2+h! [.rotate]#`mcounteren.HPM17`# .2+h! [.rotate]#`scounteren.HPM17`# 2+^.>! `hpmcounter17` access behavior
|
|
678
678
|
.>h! VS-mode .>h! VU-mode
|
|
679
679
|
|
|
680
680
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -711,7 +711,7 @@ fields:
|
|
|
711
711
|
|
|
712
712
|
[separator="!",%autowidth]
|
|
713
713
|
!===
|
|
714
|
-
.2+h! [.rotate]#`hcounteren.HPM18`# .2+h! [.rotate]#`mcounteren.HPM18`# .2+h! [.rotate]#`scounteren.HPM18`# 2+^.>! `
|
|
714
|
+
.2+h! [.rotate]#`hcounteren.HPM18`# .2+h! [.rotate]#`mcounteren.HPM18`# .2+h! [.rotate]#`scounteren.HPM18`# 2+^.>! `hpmcounter18` access behavior
|
|
715
715
|
.>h! VS-mode .>h! VU-mode
|
|
716
716
|
|
|
717
717
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -748,7 +748,7 @@ fields:
|
|
|
748
748
|
|
|
749
749
|
[separator="!",%autowidth]
|
|
750
750
|
!===
|
|
751
|
-
.2+h! [.rotate]#`hcounteren.HPM19`# .2+h! [.rotate]#`mcounteren.HPM19`# .2+h! [.rotate]#`scounteren.HPM19`# 2+^.>! `
|
|
751
|
+
.2+h! [.rotate]#`hcounteren.HPM19`# .2+h! [.rotate]#`mcounteren.HPM19`# .2+h! [.rotate]#`scounteren.HPM19`# 2+^.>! `hpmcounter19` access behavior
|
|
752
752
|
.>h! VS-mode .>h! VU-mode
|
|
753
753
|
|
|
754
754
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -785,7 +785,7 @@ fields:
|
|
|
785
785
|
|
|
786
786
|
[separator="!",%autowidth]
|
|
787
787
|
!===
|
|
788
|
-
.2+h! [.rotate]#`hcounteren.HPM20`# .2+h! [.rotate]#`mcounteren.HPM20`# .2+h! [.rotate]#`scounteren.HPM20`# 2+^.>! `
|
|
788
|
+
.2+h! [.rotate]#`hcounteren.HPM20`# .2+h! [.rotate]#`mcounteren.HPM20`# .2+h! [.rotate]#`scounteren.HPM20`# 2+^.>! `hpmcounter20` access behavior
|
|
789
789
|
.>h! VS-mode .>h! VU-mode
|
|
790
790
|
|
|
791
791
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -822,7 +822,7 @@ fields:
|
|
|
822
822
|
|
|
823
823
|
[separator="!",%autowidth]
|
|
824
824
|
!===
|
|
825
|
-
.2+h! [.rotate]#`hcounteren.HPM21`# .2+h! [.rotate]#`mcounteren.HPM21`# .2+h! [.rotate]#`scounteren.HPM21`# 2+^.>! `
|
|
825
|
+
.2+h! [.rotate]#`hcounteren.HPM21`# .2+h! [.rotate]#`mcounteren.HPM21`# .2+h! [.rotate]#`scounteren.HPM21`# 2+^.>! `hpmcounter21` access behavior
|
|
826
826
|
.>h! VS-mode .>h! VU-mode
|
|
827
827
|
|
|
828
828
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -859,7 +859,7 @@ fields:
|
|
|
859
859
|
|
|
860
860
|
[separator="!",%autowidth]
|
|
861
861
|
!===
|
|
862
|
-
.2+h! [.rotate]#`hcounteren.HPM22`# .2+h! [.rotate]#`mcounteren.HPM22`# .2+h! [.rotate]#`scounteren.HPM22`# 2+^.>! `
|
|
862
|
+
.2+h! [.rotate]#`hcounteren.HPM22`# .2+h! [.rotate]#`mcounteren.HPM22`# .2+h! [.rotate]#`scounteren.HPM22`# 2+^.>! `hpmcounter22` access behavior
|
|
863
863
|
.>h! VS-mode .>h! VU-mode
|
|
864
864
|
|
|
865
865
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -896,7 +896,7 @@ fields:
|
|
|
896
896
|
|
|
897
897
|
[separator="!",%autowidth]
|
|
898
898
|
!===
|
|
899
|
-
.2+h! [.rotate]#`hcounteren.HPM23`# .2+h! [.rotate]#`mcounteren.HPM23`# .2+h! [.rotate]#`scounteren.HPM23`# 2+^.>! `
|
|
899
|
+
.2+h! [.rotate]#`hcounteren.HPM23`# .2+h! [.rotate]#`mcounteren.HPM23`# .2+h! [.rotate]#`scounteren.HPM23`# 2+^.>! `hpmcounter23` access behavior
|
|
900
900
|
.>h! VS-mode .>h! VU-mode
|
|
901
901
|
|
|
902
902
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -933,7 +933,7 @@ fields:
|
|
|
933
933
|
|
|
934
934
|
[separator="!",%autowidth]
|
|
935
935
|
!===
|
|
936
|
-
.2+h! [.rotate]#`hcounteren.HPM24`# .2+h! [.rotate]#`mcounteren.HPM24`# .2+h! [.rotate]#`scounteren.HPM24`# 2+^.>! `
|
|
936
|
+
.2+h! [.rotate]#`hcounteren.HPM24`# .2+h! [.rotate]#`mcounteren.HPM24`# .2+h! [.rotate]#`scounteren.HPM24`# 2+^.>! `hpmcounter24` access behavior
|
|
937
937
|
.>h! VS-mode .>h! VU-mode
|
|
938
938
|
|
|
939
939
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -970,7 +970,7 @@ fields:
|
|
|
970
970
|
|
|
971
971
|
[separator="!",%autowidth]
|
|
972
972
|
!===
|
|
973
|
-
.2+h! [.rotate]#`hcounteren.HPM25`# .2+h! [.rotate]#`mcounteren.HPM25`# .2+h! [.rotate]#`scounteren.HPM25`# 2+^.>! `
|
|
973
|
+
.2+h! [.rotate]#`hcounteren.HPM25`# .2+h! [.rotate]#`mcounteren.HPM25`# .2+h! [.rotate]#`scounteren.HPM25`# 2+^.>! `hpmcounter25` access behavior
|
|
974
974
|
.>h! VS-mode .>h! VU-mode
|
|
975
975
|
|
|
976
976
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -1007,7 +1007,7 @@ fields:
|
|
|
1007
1007
|
|
|
1008
1008
|
[separator="!",%autowidth]
|
|
1009
1009
|
!===
|
|
1010
|
-
.2+h! [.rotate]#`hcounteren.HPM26`# .2+h! [.rotate]#`mcounteren.HPM26`# .2+h! [.rotate]#`scounteren.HPM26`# 2+^.>! `
|
|
1010
|
+
.2+h! [.rotate]#`hcounteren.HPM26`# .2+h! [.rotate]#`mcounteren.HPM26`# .2+h! [.rotate]#`scounteren.HPM26`# 2+^.>! `hpmcounter26` access behavior
|
|
1011
1011
|
.>h! VS-mode .>h! VU-mode
|
|
1012
1012
|
|
|
1013
1013
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -1044,7 +1044,7 @@ fields:
|
|
|
1044
1044
|
|
|
1045
1045
|
[separator="!",%autowidth]
|
|
1046
1046
|
!===
|
|
1047
|
-
.2+h! [.rotate]#`hcounteren.HPM27`# .2+h! [.rotate]#`mcounteren.HPM27`# .2+h! [.rotate]#`scounteren.HPM27`# 2+^.>! `
|
|
1047
|
+
.2+h! [.rotate]#`hcounteren.HPM27`# .2+h! [.rotate]#`mcounteren.HPM27`# .2+h! [.rotate]#`scounteren.HPM27`# 2+^.>! `hpmcounter27` access behavior
|
|
1048
1048
|
.>h! VS-mode .>h! VU-mode
|
|
1049
1049
|
|
|
1050
1050
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -1081,7 +1081,7 @@ fields:
|
|
|
1081
1081
|
|
|
1082
1082
|
[separator="!",%autowidth]
|
|
1083
1083
|
!===
|
|
1084
|
-
.2+h! [.rotate]#`hcounteren.HPM28`# .2+h! [.rotate]#`mcounteren.HPM28`# .2+h! [.rotate]#`scounteren.HPM28`# 2+^.>! `
|
|
1084
|
+
.2+h! [.rotate]#`hcounteren.HPM28`# .2+h! [.rotate]#`mcounteren.HPM28`# .2+h! [.rotate]#`scounteren.HPM28`# 2+^.>! `hpmcounter28` access behavior
|
|
1085
1085
|
.>h! VS-mode .>h! VU-mode
|
|
1086
1086
|
|
|
1087
1087
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -1118,7 +1118,7 @@ fields:
|
|
|
1118
1118
|
|
|
1119
1119
|
[separator="!",%autowidth]
|
|
1120
1120
|
!===
|
|
1121
|
-
.2+h! [.rotate]#`hcounteren.HPM29`# .2+h! [.rotate]#`mcounteren.HPM29`# .2+h! [.rotate]#`scounteren.HPM29`# 2+^.>! `
|
|
1121
|
+
.2+h! [.rotate]#`hcounteren.HPM29`# .2+h! [.rotate]#`mcounteren.HPM29`# .2+h! [.rotate]#`scounteren.HPM29`# 2+^.>! `hpmcounter29` access behavior
|
|
1122
1122
|
.>h! VS-mode .>h! VU-mode
|
|
1123
1123
|
|
|
1124
1124
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -1155,7 +1155,7 @@ fields:
|
|
|
1155
1155
|
|
|
1156
1156
|
[separator="!",%autowidth]
|
|
1157
1157
|
!===
|
|
1158
|
-
.2+h! [.rotate]#`hcounteren.HPM30`# .2+h! [.rotate]#`mcounteren.HPM30`# .2+h! [.rotate]#`scounteren.HPM30`# 2+^.>! `
|
|
1158
|
+
.2+h! [.rotate]#`hcounteren.HPM30`# .2+h! [.rotate]#`mcounteren.HPM30`# .2+h! [.rotate]#`scounteren.HPM30`# 2+^.>! `hpmcounter30` access behavior
|
|
1159
1159
|
.>h! VS-mode .>h! VU-mode
|
|
1160
1160
|
|
|
1161
1161
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -1192,7 +1192,7 @@ fields:
|
|
|
1192
1192
|
|
|
1193
1193
|
[separator="!",%autowidth]
|
|
1194
1194
|
!===
|
|
1195
|
-
.2+h! [.rotate]#`hcounteren.HPM31`# .2+h! [.rotate]#`mcounteren.HPM31`# .2+h! [.rotate]#`scounteren.HPM31`# 2+^.>! `
|
|
1195
|
+
.2+h! [.rotate]#`hcounteren.HPM31`# .2+h! [.rotate]#`mcounteren.HPM31`# .2+h! [.rotate]#`scounteren.HPM31`# 2+^.>! `hpmcounter31` access behavior
|
|
1196
1196
|
.>h! VS-mode .>h! VU-mode
|
|
1197
1197
|
|
|
1198
1198
|
! 0 ! 0 ! - ! `IllegalInstruction` ! `IllegalInstruction`
|
|
@@ -10,9 +10,9 @@ address: 0x64a
|
|
|
10
10
|
writable: true
|
|
11
11
|
long_name: Hypervisor Trap Instruction Register
|
|
12
12
|
description: |
|
|
13
|
-
When a trap is taken into HS-mode,
|
|
13
|
+
When a trap is taken into HS-mode, htinst is written with a value that, if nonzero,
|
|
14
14
|
provides information about the instruction that trapped, to assist software in handling the trap.
|
|
15
|
-
The values that may be written to
|
|
15
|
+
The values that may be written to htinst on a trap are documented in TODO.
|
|
16
16
|
|
|
17
17
|
htinst is a WARL register that need only be able to hold the values that the implementation may automatically write to it on a trap.
|
|
18
18
|
priv_mode: S
|
|
@@ -34,7 +34,7 @@ fields:
|
|
|
34
34
|
|| (TINST_VALUE_ON_LOAD_ADDRESS_MISALIGNED != "always zero")
|
|
35
35
|
|| (TINST_VALUE_ON_LOAD_ACCESS_FAULT != "always zero")
|
|
36
36
|
|| (TINST_VALUE_ON_STORE_AMO_ADDRESS_MISALIGNED != "always zero")
|
|
37
|
-
|| (TINST_VALUE_ON_STORE_AMO_ACCESS_FAULT != "
|
|
37
|
+
|| (TINST_VALUE_ON_STORE_AMO_ACCESS_FAULT != "always zero")
|
|
38
38
|
|| (TINST_VALUE_ON_UCALL != "always zero")
|
|
39
39
|
|| (TINST_VALUE_ON_SCALL != "always zero")
|
|
40
40
|
|| (TINST_VALUE_ON_MCALL != "always zero")
|
|
@@ -19,8 +19,8 @@ description: |
|
|
|
19
19
|
Otherwise, for misaligned loads and stores that cause guest-page faults, a nonzero guest physical address in htval corresponds to the faulting portion of the access as indicated by the virtual address in stval. For instruction guest-page faults on systems with variable-length instructions, a nonzero htval corresponds to the faulting portion of the instruction as indicated by the virtual address in stval.
|
|
20
20
|
|
|
21
21
|
htval is a WARL register that must be able to hold zero and may be capable of holding only an arbitrary subset of other 2-bit-shifted guest physical addresses, if any.
|
|
22
|
-
priv_mode:
|
|
23
|
-
length:
|
|
22
|
+
priv_mode: S
|
|
23
|
+
length: SXLEN
|
|
24
24
|
definedBy:
|
|
25
25
|
extension:
|
|
26
26
|
name: H
|
|
@@ -38,5 +38,5 @@ fields:
|
|
|
38
38
|
return CsrFieldType::RO;
|
|
39
39
|
}
|
|
40
40
|
description: |
|
|
41
|
-
Exception-specific information for a trap into
|
|
41
|
+
Exception-specific information for a trap into HS-mode.
|
|
42
42
|
reset_value: UNDEFINED_LEGAL
|
|
@@ -34,7 +34,7 @@ fields:
|
|
|
34
34
|
|| (TINST_VALUE_ON_LOAD_ADDRESS_MISALIGNED != "always zero")
|
|
35
35
|
|| (TINST_VALUE_ON_LOAD_ACCESS_FAULT != "always zero")
|
|
36
36
|
|| (TINST_VALUE_ON_STORE_AMO_ADDRESS_MISALIGNED != "always zero")
|
|
37
|
-
|| (TINST_VALUE_ON_STORE_AMO_ACCESS_FAULT != "
|
|
37
|
+
|| (TINST_VALUE_ON_STORE_AMO_ACCESS_FAULT != "always zero")
|
|
38
38
|
|| (TINST_VALUE_ON_UCALL != "always zero")
|
|
39
39
|
|| (TINST_VALUE_ON_SCALL != "always zero")
|
|
40
40
|
|| (TINST_VALUE_ON_MCALL != "always zero")
|
|
@@ -41,7 +41,7 @@ fields:
|
|
|
41
41
|
[when="HPM_COUNTER_EN[<%= of_num %>] == false"]
|
|
42
42
|
This field is read-only zero because the counter is not enabled.
|
|
43
43
|
type(): |
|
|
44
|
-
return HPM_COUNTER_EN[<%= of_num %>] ? CsrFieldType::
|
|
44
|
+
return HPM_COUNTER_EN[<%= of_num %>] ? CsrFieldType::ROH : CsrFieldType::RO;
|
|
45
45
|
reset_value(): |
|
|
46
46
|
return HPM_COUNTER_EN[<%= of_num %>] ? UNDEFINED_LEGAL : 0;
|
|
47
47
|
<%- end -%>
|