udb 0.1.17 → 0.1.18
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 +140 -5
- data/.data/cfgs/profile/RVA23S64.yaml +1 -1
- data/.data/cfgs/profile/RVA23p1S64.yaml +217 -0
- data/.data/cfgs/profile/RVB23S64.yaml +1 -1
- data/.data/cfgs/profile/RVB23p1S64.yaml +179 -0
- data/.data/cfgs/rv32-riscv-tests.yaml +134 -0
- data/.data/cfgs/rv32-vector.yaml +134 -0
- data/.data/cfgs/rv64-riscv-tests.yaml +134 -0
- data/.data/cfgs/rv64-vector.yaml +134 -0
- data/.data/spec/schemas/schema_defs.json +4 -1
- data/.data/spec/std/isa/csr/I/mcounteren.layout +7 -0
- data/.data/spec/std/isa/csr/I/mcounteren.yaml +7 -0
- data/.data/spec/std/isa/csr/Smcdeleg/scountinhibit.layout +111 -0
- data/.data/spec/std/isa/csr/Smcdeleg/scountinhibit.yaml +840 -0
- data/.data/spec/std/isa/csr/Smcntrpmf/mcyclecfg.yaml +2 -0
- data/.data/spec/std/isa/csr/Smcntrpmf/mcyclecfgh.yaml +2 -0
- data/.data/spec/std/isa/csr/Smcntrpmf/minstretcfg.yaml +2 -0
- data/.data/spec/std/isa/csr/Smcntrpmf/minstretcfgh.yaml +2 -0
- data/.data/spec/std/isa/csr/Sscofpmf/scountovf.layout +7 -0
- data/.data/spec/std/isa/csr/Sscofpmf/scountovf.yaml +7 -0
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter10.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter10h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter11.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter11h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter12.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter12h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter13.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter13h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter14.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter14h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter15.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter15h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter16.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter16h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter17.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter17h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter18.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter18h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter19.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter19h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter20.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter20h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter21.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter21h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter22.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter22h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter23.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter23h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter24.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter24h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter25.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter25h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter26.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter26h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter27.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter27h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter28.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter28h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter29.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter29h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter3.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter30.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter30h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter31.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter31h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter3h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter4.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter4h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter5.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter5h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter6.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter6h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter7.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter7h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter8.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter8h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter9.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounter9h.yaml +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounterN.layout +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmcounterNh.layout +2 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent10.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent10h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent11.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent11h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent12.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent12h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent13.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent13h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent14.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent14h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent15.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent15h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent16.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent16h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent17.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent17h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent18.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent18h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent19.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent19h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent20.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent20h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent21.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent21h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent22.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent22h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent23.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent23h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent24.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent24h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent25.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent25h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent26.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent26h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent27.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent27h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent28.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent28h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent29.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent29h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent3.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent30.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent30h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent31.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent31h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent3h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent4.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent4h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent5.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent5h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent6.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent6h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent7.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent7h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent8.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent8h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent9.yaml +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmevent9h.yaml +4 -4
- data/.data/spec/std/isa/csr/Zihpm/mhpmeventN.layout +4 -7
- data/.data/spec/std/isa/csr/Zihpm/mhpmeventNh.layout +4 -4
- data/.data/spec/std/isa/csr/Zkr/seed.yaml +75 -0
- data/.data/spec/std/isa/csr/hcontext.yaml +4 -4
- data/.data/spec/std/isa/csr/mcontext.yaml +4 -4
- data/.data/spec/std/isa/csr/mcycle.yaml +2 -0
- data/.data/spec/std/isa/csr/mcycleh.yaml +2 -0
- data/.data/spec/std/isa/csr/medeleg.yaml +72 -36
- data/.data/spec/std/isa/csr/menvcfg.yaml +12 -1
- data/.data/spec/std/isa/csr/menvcfgh.yaml +12 -0
- data/.data/spec/std/isa/csr/mideleg.yaml +13 -36
- data/.data/spec/std/isa/csr/mie.yaml +3 -6
- data/.data/spec/std/isa/csr/minstret.yaml +2 -0
- data/.data/spec/std/isa/csr/minstreth.yaml +2 -0
- data/.data/spec/std/isa/csr/mip.yaml +3 -6
- data/.data/spec/std/isa/csr/misa.yaml +3 -23
- data/.data/spec/std/isa/csr/mseccfg.yaml +27 -1
- data/.data/spec/std/isa/csr/mstatus.yaml +8 -2
- data/.data/spec/std/isa/csr/scontext.yaml +8 -4
- data/.data/spec/std/isa/csr/tcontrol.yaml +6 -2
- data/.data/spec/std/isa/csr/tdata2.yaml +6 -2
- data/.data/spec/std/isa/csr/tdata3.yaml +6 -2
- data/.data/spec/std/isa/ext/Sdext.yaml +58 -2
- data/.data/spec/std/isa/ext/Sm.yaml +2 -2
- data/.data/spec/std/isa/ext/Smcdeleg.yaml +7 -0
- data/.data/spec/std/isa/ext/Smmpm.yaml +8 -0
- data/.data/spec/std/isa/ext/Smnpm.yaml +19 -0
- data/.data/spec/std/isa/ext/Smpmpdeleg.yaml +33 -0
- data/.data/spec/std/isa/ext/Ssccfg.yaml +7 -0
- data/.data/spec/std/isa/ext/Ssnpm.yaml +8 -0
- data/.data/spec/std/isa/ext/Sspmp.yaml +44 -0
- data/.data/spec/std/isa/ext/Sspmpen.yaml +30 -0
- data/.data/spec/std/isa/ext/Zvabd.yaml +5 -1
- data/.data/spec/std/isa/ext/Zvfbdota32f.yaml +23 -0
- data/.data/spec/std/isa/ext/Zvzip.yaml +24 -0
- data/.data/spec/std/isa/inst/C/c.bnez.yaml +2 -2
- data/.data/spec/std/isa/inst/H/hlv.b.yaml +1 -1
- data/.data/spec/std/isa/inst/H/hlv.bu.yaml +1 -1
- data/.data/spec/std/isa/inst/H/hlv.d.yaml +1 -1
- data/.data/spec/std/isa/inst/H/hlv.h.yaml +1 -1
- data/.data/spec/std/isa/inst/H/hlv.hu.yaml +1 -1
- data/.data/spec/std/isa/inst/H/hlv.w.yaml +1 -1
- data/.data/spec/std/isa/inst/H/hlv.wu.yaml +1 -1
- data/.data/spec/std/isa/inst/H/hlvx.hu.yaml +1 -1
- data/.data/spec/std/isa/inst/H/hlvx.wu.yaml +1 -1
- data/.data/spec/std/isa/inst/H/hsv.b.yaml +1 -1
- data/.data/spec/std/isa/inst/H/hsv.d.yaml +1 -1
- data/.data/spec/std/isa/inst/H/hsv.h.yaml +1 -1
- data/.data/spec/std/isa/inst/H/hsv.w.yaml +1 -1
- data/.data/spec/std/isa/inst/I/ld.yaml +9 -8
- data/.data/spec/std/isa/inst/I/sd.yaml +9 -8
- data/.data/spec/std/isa/inst/Q/fcvt.q.d.yaml +1 -1
- data/.data/spec/std/isa/inst/Q/flq.yaml +1 -1
- data/.data/spec/std/isa/inst/Sdext/dret.yaml +72 -6
- data/.data/spec/std/isa/inst/V/vfncvt.f.f.w.yaml +2 -2
- data/.data/spec/std/isa/inst/V/vfncvt.f.x.w.yaml +2 -2
- data/.data/spec/std/isa/inst/V/vfncvt.f.xu.w.yaml +2 -2
- data/.data/spec/std/isa/inst/V/vfncvt.rod.f.f.w.yaml +2 -2
- data/.data/spec/std/isa/inst/V/vfncvt.rtz.x.f.w.yaml +2 -2
- data/.data/spec/std/isa/inst/V/vfncvt.rtz.xu.f.w.yaml +2 -2
- data/.data/spec/std/isa/inst/V/vfncvt.x.f.w.yaml +2 -2
- data/.data/spec/std/isa/inst/V/vfncvt.xu.f.w.yaml +2 -2
- data/.data/spec/std/isa/inst/V/vnclip.wi.yaml +2 -2
- data/.data/spec/std/isa/inst/V/vnclip.wv.yaml +2 -2
- data/.data/spec/std/isa/inst/V/vnclip.wx.yaml +2 -2
- data/.data/spec/std/isa/inst/V/vnclipu.wi.yaml +2 -2
- data/.data/spec/std/isa/inst/V/vnclipu.wv.yaml +2 -2
- data/.data/spec/std/isa/inst/V/vnclipu.wx.yaml +2 -2
- data/.data/spec/std/isa/inst/V/vnsra.wi.yaml +2 -2
- data/.data/spec/std/isa/inst/V/vnsra.wv.yaml +2 -2
- data/.data/spec/std/isa/inst/V/vnsra.wx.yaml +2 -2
- data/.data/spec/std/isa/inst/V/vnsrl.wi.yaml +2 -2
- data/.data/spec/std/isa/inst/V/vnsrl.wv.yaml +2 -2
- data/.data/spec/std/isa/inst/V/vnsrl.wx.yaml +2 -2
- data/.data/spec/std/isa/inst/Zfh/fcvt.h.s.yaml +28 -20
- data/.data/spec/std/isa/inst/Zfh/fcvt.s.h.yaml +35 -20
- data/.data/spec/std/isa/inst/Zvabd/vabd.vv.yaml +3 -3
- data/.data/spec/std/isa/inst/Zvabd/vabd.vx.yaml +69 -0
- data/.data/spec/std/isa/inst/Zvabd/vabdu.vv.yaml +3 -3
- data/.data/spec/std/isa/inst/Zvabd/{vabs.v.yaml → vabdu.vx.yaml} +17 -11
- data/.data/spec/std/isa/inst/Zvabd/vwabda.vv.yaml +1 -1
- data/.data/spec/std/isa/inst/Zvabd/vwabda.vx.yaml +73 -0
- data/.data/spec/std/isa/inst/Zvabd/vwabdau.vv.yaml +1 -1
- data/.data/spec/std/isa/inst/Zvabd/vwabdau.vx.yaml +74 -0
- data/.data/spec/std/isa/inst/Zvfbdota32f/vfbdota.vv.yaml +68 -0
- data/.data/spec/std/isa/inst/Zvzip/vpaire.vv.yaml +36 -0
- data/.data/spec/std/isa/inst/Zvzip/vpairo.vv.yaml +37 -0
- data/.data/spec/std/isa/inst/Zvzip/vunzipe.v.yaml +33 -0
- data/.data/spec/std/isa/inst/Zvzip/vunzipo.v.yaml +33 -0
- data/.data/spec/std/isa/inst/Zvzip/vzip.vv.yaml +37 -0
- data/.data/spec/std/isa/isa/builtin_functions.idl +51 -0
- data/.data/spec/std/isa/isa/globals.isa +117 -5
- data/.data/spec/std/isa/param/HCONTEXT_IMPLEMENTED.yaml +29 -0
- data/.data/spec/std/isa/param/{MCONTEXT_AVAILABLE.yaml → MCONTEXT_IMPLEMENTED.yaml} +3 -3
- data/.data/spec/std/isa/param/MEDELEG_DELEGATABLE.yaml +121 -0
- data/.data/spec/std/isa/param/MEI_INTR_IMPL.yaml +1 -1
- data/.data/spec/std/isa/param/MIDELEG_DELEGATABLE.yaml +177 -0
- data/.data/spec/std/isa/param/MSI_INTR_IMPL.yaml +1 -1
- data/.data/spec/std/isa/param/MTI_INTR_IMPL.yaml +1 -1
- data/.data/spec/std/isa/param/SCONTEXT_IMPLEMENTED.yaml +18 -0
- data/.data/spec/std/isa/param/SDTRIG_BREAKPOINT_REENTRANCY.yaml +45 -0
- data/.data/spec/std/isa/param/SDTRIG_ETRIGGER_SUPPORTED_EXCEPTIONS.yaml +37 -0
- data/.data/spec/std/isa/param/SDTRIG_ETRIGGER_SUPPORTED_TRIGGERS.yaml +25 -0
- data/.data/spec/std/isa/param/SDTRIG_ICOUNT_COUNT_HARDWIRED_1.yaml +23 -0
- data/.data/spec/std/isa/param/SDTRIG_ICOUNT_SELF_WRITE_SETS_PENDING.yaml +23 -0
- data/.data/spec/std/isa/param/SDTRIG_ICOUNT_SUPPORTED_TRIGGERS.yaml +25 -0
- data/.data/spec/std/isa/param/SDTRIG_ITRIGGER_SUPPORTED_INTERRUPTS.yaml +37 -0
- data/.data/spec/std/isa/param/SDTRIG_ITRIGGER_SUPPORTED_TRIGGERS.yaml +25 -0
- data/.data/spec/std/isa/param/SDTRIG_MAX_CHAIN_LENGTH.yaml +33 -0
- data/.data/spec/std/isa/param/SDTRIG_MCONTROL6_EXECUTE_WRITABLE.yaml +22 -0
- data/.data/spec/std/isa/param/SDTRIG_MCONTROL6_LOAD_WRITABLE.yaml +22 -0
- data/.data/spec/std/isa/param/SDTRIG_MCONTROL6_MASKMAX6.yaml +26 -0
- data/.data/spec/std/isa/param/SDTRIG_MCONTROL6_MATCH_LEGAL_VALUES.yaml +41 -0
- data/.data/spec/std/isa/param/SDTRIG_MCONTROL6_SELECT_WRITABLE.yaml +22 -0
- data/.data/spec/std/isa/param/SDTRIG_MCONTROL6_SIZE_LEGAL_VALUES.yaml +38 -0
- data/.data/spec/std/isa/param/SDTRIG_MCONTROL6_STORE_WRITABLE.yaml +22 -0
- data/.data/spec/std/isa/param/SDTRIG_MCONTROL6_SUPPORTED_TRIGGERS.yaml +25 -0
- data/.data/spec/std/isa/param/SDTRIG_M_WRITABLE.yaml +17 -0
- data/.data/spec/std/isa/param/SDTRIG_NUM_TRIGGERS.yaml +22 -0
- data/.data/spec/std/isa/param/SDTRIG_S_WRITABLE.yaml +19 -0
- data/.data/spec/std/isa/param/SDTRIG_TEXTRA_MHSELECT_MCONTEXT_MATCH.yaml +24 -0
- data/.data/spec/std/isa/param/SDTRIG_TEXTRA_MHSELECT_VMID_MATCH.yaml +23 -0
- data/.data/spec/std/isa/param/SDTRIG_TEXTRA_MHVALUE_LEN.yaml +26 -0
- data/.data/spec/std/isa/param/SDTRIG_TEXTRA_SSELECT_ASID_MATCH.yaml +23 -0
- data/.data/spec/std/isa/param/SDTRIG_TEXTRA_SSELECT_SCONTEXT_MATCH.yaml +26 -0
- data/.data/spec/std/isa/param/SDTRIG_TEXTRA_SVALUE_LEN.yaml +26 -0
- data/.data/spec/std/isa/param/SDTRIG_U_WRITABLE.yaml +19 -0
- data/.data/spec/std/isa/param/SDTRIG_VS_WRITABLE.yaml +19 -0
- data/.data/spec/std/isa/param/SDTRIG_VU_WRITABLE.yaml +19 -0
- data/.data/spec/std/isa/param/SEI_INTR_IMPL.yaml +1 -1
- data/.data/spec/std/isa/param/SSEED_READ_ONLY_ZERO.yaml +28 -0
- data/.data/spec/std/isa/param/SSI_INTR_IMPL.yaml +1 -1
- data/.data/spec/std/isa/param/STI_INTR_IMPL.yaml +1 -1
- data/.data/spec/std/isa/param/TCONTROL_IMPLEMENTED.yaml +16 -0
- data/.data/spec/std/isa/param/TDATA2_IMPLEMENTED.yaml +26 -0
- data/.data/spec/std/isa/param/TDATA3_IMPLEMENTED.yaml +29 -0
- data/.data/spec/std/isa/param/USEED_READ_ONLY_ZERO.yaml +28 -0
- data/.data/spec/std/isa/profile/RVA23p1S64.yaml +37 -0
- data/.data/spec/std/isa/profile/RVB23p1S64.yaml +39 -0
- data/.data/spec/std/isa/profile_family/RVA.yaml +3 -1
- data/.data/spec/std/isa/profile_family/RVB.yaml +3 -1
- data/.data/spec/std/isa/profile_release/RVA23p1.yaml +30 -0
- data/.data/spec/std/isa/profile_release/RVB23p1.yaml +30 -0
- data/lib/udb/version.rb +1 -1
- metadata +65 -8
- data/.data/spec/std/isa/param/HCONTEXT_AVAILABLE.yaml +0 -19
- data/.data/spec/std/isa/param/VSEI_INTR_IMPL.yaml +0 -28
- data/.data/spec/std/isa/param/VSSI_INTR_IMPL.yaml +0 -28
- data/.data/spec/std/isa/param/VSTI_INTR_IMPL.yaml +0 -33
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_ICOUNT_SELF_WRITE_SETS_PENDING
|
|
9
|
+
description: |
|
|
10
|
+
If true, a write to tdata1 that configures an icount trigger with count=1 also sets
|
|
11
|
+
icount.pending when the writing instruction itself matches the trigger.
|
|
12
|
+
If false, the writing instruction does not make the trigger pending.
|
|
13
|
+
long_name: icount self-write sets pending
|
|
14
|
+
schema:
|
|
15
|
+
type: boolean
|
|
16
|
+
definedBy:
|
|
17
|
+
allOf:
|
|
18
|
+
- extension:
|
|
19
|
+
name: Sdtrig
|
|
20
|
+
- param:
|
|
21
|
+
name: SDTRIG_ICOUNT_SUPPORTED_TRIGGERS
|
|
22
|
+
includes: true
|
|
23
|
+
reason: Only relevant if at least one trigger supports icount.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_ICOUNT_SUPPORTED_TRIGGERS
|
|
9
|
+
description: |
|
|
10
|
+
Indicates which triggers support icount. Entry i is true if the trigger selected by
|
|
11
|
+
tselect=i supports icount. Must have exactly SDTRIG_NUM_TRIGGERS entries.
|
|
12
|
+
long_name: List of triggers that support icount
|
|
13
|
+
schema:
|
|
14
|
+
type: array
|
|
15
|
+
items:
|
|
16
|
+
type: boolean
|
|
17
|
+
maxItems: 18446744073709551616 # 2**64, max tselect values (2**XLEN)
|
|
18
|
+
minItems: 1
|
|
19
|
+
definedBy:
|
|
20
|
+
extension:
|
|
21
|
+
name: Sdtrig
|
|
22
|
+
# TODO: uncomment when we have support for parameter comparison to other parameters
|
|
23
|
+
# requirements:
|
|
24
|
+
# idl(): |
|
|
25
|
+
# -> $array_size(SDTRIG_ICOUNT_SUPPORTED_TRIGGERS) == SDTRIG_NUM_TRIGGERS;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_ITRIGGER_SUPPORTED_INTERRUPTS
|
|
9
|
+
description: |
|
|
10
|
+
The set of interrupt codes (mcause Exception Code) that itrigger can be enabled for, i.e. the bits of
|
|
11
|
+
itrigger.tdata2 that are writable as 1.
|
|
12
|
+
|
|
13
|
+
Debug spec 1.0, itrigger: "Hardware may only support a subset of interrupts for this trigger."
|
|
14
|
+
long_name: List of interrupts supported by itrigger
|
|
15
|
+
schema:
|
|
16
|
+
type: array
|
|
17
|
+
items:
|
|
18
|
+
type: integer
|
|
19
|
+
minimum: 0
|
|
20
|
+
maximum: 63
|
|
21
|
+
maxItems: 64
|
|
22
|
+
minItems: 1
|
|
23
|
+
uniqueItems: true
|
|
24
|
+
requirements:
|
|
25
|
+
idl(): |
|
|
26
|
+
for (U32 i = 32; i < 64; i++) {
|
|
27
|
+
(MXLEN == 32) -> !$array_includes?(SDTRIG_ITRIGGER_SUPPORTED_INTERRUPTS, i);
|
|
28
|
+
}
|
|
29
|
+
reason: itrigger.tdata2 is XLEN bits wide, so codes above 31 cannot be selected when XLEN is 32.
|
|
30
|
+
definedBy:
|
|
31
|
+
allOf:
|
|
32
|
+
- extension:
|
|
33
|
+
name: Sdtrig
|
|
34
|
+
- param:
|
|
35
|
+
name: SDTRIG_ITRIGGER_SUPPORTED_TRIGGERS
|
|
36
|
+
includes: true
|
|
37
|
+
reason: Only relevant if at least one trigger supports itrigger.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_ITRIGGER_SUPPORTED_TRIGGERS
|
|
9
|
+
description: |
|
|
10
|
+
Indicates which triggers support itrigger. Entry i is true if the trigger selected by
|
|
11
|
+
tselect=i supports itrigger. Must have exactly SDTRIG_NUM_TRIGGERS entries.
|
|
12
|
+
long_name: List of triggers that support itrigger
|
|
13
|
+
schema:
|
|
14
|
+
type: array
|
|
15
|
+
items:
|
|
16
|
+
type: boolean
|
|
17
|
+
maxItems: 18446744073709551616 # 2**64, max tselect values (2**XLEN)
|
|
18
|
+
minItems: 0
|
|
19
|
+
definedBy:
|
|
20
|
+
extension:
|
|
21
|
+
name: Sdtrig
|
|
22
|
+
# TODO: uncomment when we have support for parameter comparison to other parameters
|
|
23
|
+
# requirements:
|
|
24
|
+
# idl(): |
|
|
25
|
+
# -> $array_size(SDTRIG_ITRIGGER_SUPPORTED_TRIGGERS) == SDTRIG_NUM_TRIGGERS;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_MAX_CHAIN_LENGTH
|
|
9
|
+
description: |
|
|
10
|
+
The maximum number of triggers in a trigger chain. A value of 1 means chaining is not supported.
|
|
11
|
+
Cannot exceed SDTRIG_NUM_TRIGGERS.
|
|
12
|
+
|
|
13
|
+
Debug spec 1.0, mcontrol6.chain: "Implementations that wish to limit the maximum length of a trigger
|
|
14
|
+
chain (eg. to meet timing requirements) may do so by zeroing chain in writes to mcontrol6 that would
|
|
15
|
+
make the chain too long."
|
|
16
|
+
long_name: Maximum trigger chain length
|
|
17
|
+
schema:
|
|
18
|
+
type: integer
|
|
19
|
+
minimum: 1
|
|
20
|
+
maximum: 18446744073709551615 # 2**64 - 1; 2**64 overflows the 64-bit Z3 term
|
|
21
|
+
definedBy:
|
|
22
|
+
allOf:
|
|
23
|
+
- extension:
|
|
24
|
+
name: Sdtrig
|
|
25
|
+
- param:
|
|
26
|
+
name: SDTRIG_MCONTROL6_SUPPORTED_TRIGGERS
|
|
27
|
+
includes: true
|
|
28
|
+
reason: Only relevant if at least one trigger supports mcontrol6.
|
|
29
|
+
# TODO: uncomment when we have support for parameter comparison to other parameters
|
|
30
|
+
# requirements:
|
|
31
|
+
# idl(): |
|
|
32
|
+
# -> SDTRIG_MAX_CHAIN_LENGTH <= SDTRIG_NUM_TRIGGERS;
|
|
33
|
+
# reason: A chain cannot contain more triggers than are implemented.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_MCONTROL6_EXECUTE_WRITABLE
|
|
9
|
+
description: |
|
|
10
|
+
If true, mcontrol6.EXECUTE can be set to 1, so mcontrol6 triggers can match on instruction execution.
|
|
11
|
+
If false, mcontrol6.EXECUTE is read-only 0. Since mcontrol6.EXECUTE resets to 0, 0 is always supported.
|
|
12
|
+
long_name: mcontrol6.EXECUTE is writable
|
|
13
|
+
schema:
|
|
14
|
+
type: boolean
|
|
15
|
+
definedBy:
|
|
16
|
+
allOf:
|
|
17
|
+
- extension:
|
|
18
|
+
name: Sdtrig
|
|
19
|
+
- param:
|
|
20
|
+
name: SDTRIG_MCONTROL6_SUPPORTED_TRIGGERS
|
|
21
|
+
includes: true
|
|
22
|
+
reason: Only relevant if at least one trigger supports mcontrol6.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_MCONTROL6_LOAD_WRITABLE
|
|
9
|
+
description: |
|
|
10
|
+
If true, mcontrol6.LOAD can be set to 1, so mcontrol6 triggers can match on loads.
|
|
11
|
+
If false, mcontrol6.LOAD is read-only 0. Since mcontrol6.LOAD resets to 0, 0 is always supported.
|
|
12
|
+
long_name: mcontrol6.LOAD is writable
|
|
13
|
+
schema:
|
|
14
|
+
type: boolean
|
|
15
|
+
definedBy:
|
|
16
|
+
allOf:
|
|
17
|
+
- extension:
|
|
18
|
+
name: Sdtrig
|
|
19
|
+
- param:
|
|
20
|
+
name: SDTRIG_MCONTROL6_SUPPORTED_TRIGGERS
|
|
21
|
+
includes: true
|
|
22
|
+
reason: Only relevant if at least one trigger supports mcontrol6.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_MCONTROL6_MASKMAX6
|
|
9
|
+
description: In implementations that support match mode 1 (NAPOT), not all NAPOT ranges may be supported. All NAPOT ranges between 2^1 and 2^SDTRIG_MCONTROL6_MASKMAX6 are supported.
|
|
10
|
+
long_name: NAPOT ranges supported by match control type 6
|
|
11
|
+
schema:
|
|
12
|
+
type: integer
|
|
13
|
+
minimum: 1
|
|
14
|
+
maximum: 64
|
|
15
|
+
definedBy:
|
|
16
|
+
allOf:
|
|
17
|
+
- extension:
|
|
18
|
+
name: Sdtrig
|
|
19
|
+
- param:
|
|
20
|
+
name: SDTRIG_MCONTROL6_SUPPORTED_TRIGGERS
|
|
21
|
+
includes: true
|
|
22
|
+
reason: Only relevant if at least one trigger supports mcontrol6.
|
|
23
|
+
|
|
24
|
+
requirements:
|
|
25
|
+
idl(): |
|
|
26
|
+
MXLEN == 32 -> SDTRIG_MCONTROL6_MASKMAX6 <= 32;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_MCONTROL6_MATCH_LEGAL_VALUES
|
|
9
|
+
description: |
|
|
10
|
+
The set of values that mcontrol6.MATCH supports.
|
|
11
|
+
long_name: Legal values of mcontrol6.MATCH
|
|
12
|
+
schema:
|
|
13
|
+
type: array
|
|
14
|
+
items:
|
|
15
|
+
type: integer
|
|
16
|
+
enum:
|
|
17
|
+
- 0
|
|
18
|
+
- 1
|
|
19
|
+
- 2
|
|
20
|
+
- 3
|
|
21
|
+
- 4
|
|
22
|
+
- 5
|
|
23
|
+
- 8
|
|
24
|
+
- 9
|
|
25
|
+
- 12
|
|
26
|
+
- 13
|
|
27
|
+
maxItems: 10
|
|
28
|
+
minItems: 1
|
|
29
|
+
uniqueItems: true
|
|
30
|
+
requirements:
|
|
31
|
+
idl(): |
|
|
32
|
+
-> $array_includes?(SDTRIG_MCONTROL6_MATCH_LEGAL_VALUES, 0);
|
|
33
|
+
reason: The reset value of mcontrol6.match is 0, so 0 must be a legal value.
|
|
34
|
+
definedBy:
|
|
35
|
+
allOf:
|
|
36
|
+
- extension:
|
|
37
|
+
name: Sdtrig
|
|
38
|
+
- param:
|
|
39
|
+
name: SDTRIG_MCONTROL6_SUPPORTED_TRIGGERS
|
|
40
|
+
includes: true
|
|
41
|
+
reason: Only relevant if at least one trigger supports mcontrol6.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_MCONTROL6_SELECT_WRITABLE
|
|
9
|
+
description: |
|
|
10
|
+
If true, mcontrol6.SELECT can be set to 1, so mcontrol6 triggers can match on data (select=1) as well as address.
|
|
11
|
+
If false, mcontrol6.SELECT is read-only 0. Since mcontrol6.SELECT resets to 0, 0 is always supported.
|
|
12
|
+
long_name: mcontrol6.SELECT is writable
|
|
13
|
+
schema:
|
|
14
|
+
type: boolean
|
|
15
|
+
definedBy:
|
|
16
|
+
allOf:
|
|
17
|
+
- extension:
|
|
18
|
+
name: Sdtrig
|
|
19
|
+
- param:
|
|
20
|
+
name: SDTRIG_MCONTROL6_SUPPORTED_TRIGGERS
|
|
21
|
+
includes: true
|
|
22
|
+
reason: Only relevant if at least one trigger supports mcontrol6.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_MCONTROL6_SIZE_LEGAL_VALUES
|
|
9
|
+
description: |
|
|
10
|
+
The set of values that mcontrol6.SIZE supports (0: any, 1: 8-bit, 2: 16-bit, 3: 32-bit, 4: 48-bit, 5: 64-bit, 6: 128-bit).
|
|
11
|
+
long_name: Legal values of mcontrol6.SIZE
|
|
12
|
+
schema:
|
|
13
|
+
type: array
|
|
14
|
+
items:
|
|
15
|
+
type: integer
|
|
16
|
+
enum:
|
|
17
|
+
- 0
|
|
18
|
+
- 1
|
|
19
|
+
- 2
|
|
20
|
+
- 3
|
|
21
|
+
- 4
|
|
22
|
+
- 5
|
|
23
|
+
- 6
|
|
24
|
+
maxItems: 7
|
|
25
|
+
minItems: 1
|
|
26
|
+
uniqueItems: true
|
|
27
|
+
requirements:
|
|
28
|
+
idl(): |
|
|
29
|
+
-> $array_includes?(SDTRIG_MCONTROL6_SIZE_LEGAL_VALUES, 0);
|
|
30
|
+
reason: 'Debug spec 1.0, mcontrol6.size: "An implementation must support the value of 0, but all other values are optional."'
|
|
31
|
+
definedBy:
|
|
32
|
+
allOf:
|
|
33
|
+
- extension:
|
|
34
|
+
name: Sdtrig
|
|
35
|
+
- param:
|
|
36
|
+
name: SDTRIG_MCONTROL6_SUPPORTED_TRIGGERS
|
|
37
|
+
includes: true
|
|
38
|
+
reason: Only relevant if at least one trigger supports mcontrol6.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_MCONTROL6_STORE_WRITABLE
|
|
9
|
+
description: |
|
|
10
|
+
If true, mcontrol6.STORE can be set to 1, so mcontrol6 triggers can match on stores.
|
|
11
|
+
If false, mcontrol6.STORE is read-only 0. Since mcontrol6.STORE resets to 0, 0 is always supported.
|
|
12
|
+
long_name: mcontrol6.STORE is writable
|
|
13
|
+
schema:
|
|
14
|
+
type: boolean
|
|
15
|
+
definedBy:
|
|
16
|
+
allOf:
|
|
17
|
+
- extension:
|
|
18
|
+
name: Sdtrig
|
|
19
|
+
- param:
|
|
20
|
+
name: SDTRIG_MCONTROL6_SUPPORTED_TRIGGERS
|
|
21
|
+
includes: true
|
|
22
|
+
reason: Only relevant if at least one trigger supports mcontrol6.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_MCONTROL6_SUPPORTED_TRIGGERS
|
|
9
|
+
description: |
|
|
10
|
+
Indicates which triggers support mcontrol6. Entry i is true if the trigger selected by
|
|
11
|
+
tselect=i supports mcontrol6. Must have exactly SDTRIG_NUM_TRIGGERS entries.
|
|
12
|
+
long_name: List of triggers that support mcontrol6
|
|
13
|
+
schema:
|
|
14
|
+
type: array
|
|
15
|
+
items:
|
|
16
|
+
type: boolean
|
|
17
|
+
maxItems: 18446744073709551616 # 2**64, max tselect values (2**XLEN)
|
|
18
|
+
minItems: 1
|
|
19
|
+
definedBy:
|
|
20
|
+
extension:
|
|
21
|
+
name: Sdtrig
|
|
22
|
+
# TODO: uncomment when we have support for parameter comparison to other parameters
|
|
23
|
+
# requirements:
|
|
24
|
+
# idl(): |
|
|
25
|
+
# -> $array_size(SDTRIG_MCONTROL6_SUPPORTED_TRIGGERS) == SDTRIG_NUM_TRIGGERS;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_M_WRITABLE
|
|
9
|
+
description: |
|
|
10
|
+
If true, the M bit in every trigger type that has one (mcontrol, mcontrol6, icount, itrigger, etrigger) can be set to 1, so triggers can match in M-mode.
|
|
11
|
+
If false, the M bit is read-only 0. Since the M bit resets to 0, 0 is always supported.
|
|
12
|
+
long_name: Trigger M bit is writable
|
|
13
|
+
schema:
|
|
14
|
+
type: boolean
|
|
15
|
+
definedBy:
|
|
16
|
+
extension:
|
|
17
|
+
name: Sdtrig
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_NUM_TRIGGERS
|
|
9
|
+
description: |
|
|
10
|
+
The number of triggers implemented. Triggers are indexed by tselect from 0 to SDTRIG_NUM_TRIGGERS - 1.
|
|
11
|
+
long_name: Number of triggers implemented
|
|
12
|
+
schema:
|
|
13
|
+
type: integer
|
|
14
|
+
minimum: 1
|
|
15
|
+
maximum: 18446744073709551615 # 2**64 - 1; 2**64 overflows the 64-bit Z3 term
|
|
16
|
+
definedBy:
|
|
17
|
+
extension:
|
|
18
|
+
name: Sdtrig
|
|
19
|
+
|
|
20
|
+
requirements:
|
|
21
|
+
idl(): |
|
|
22
|
+
MXLEN == 32 -> SDTRIG_NUM_TRIGGERS <= 33'h100000000;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_S_WRITABLE
|
|
9
|
+
description: |
|
|
10
|
+
If true, the S bit in every trigger type that has one (mcontrol, mcontrol6, icount, itrigger, etrigger) can be set to 1, so triggers can match in S/HS-mode.
|
|
11
|
+
If false, the S bit is read-only 0. Since the S bit resets to 0, 0 is always supported.
|
|
12
|
+
long_name: Trigger S bit is writable
|
|
13
|
+
schema:
|
|
14
|
+
type: boolean
|
|
15
|
+
definedBy:
|
|
16
|
+
extension:
|
|
17
|
+
allOf:
|
|
18
|
+
- name: Sdtrig
|
|
19
|
+
- name: S
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_TEXTRA_MHSELECT_MCONTEXT_MATCH
|
|
9
|
+
description: |
|
|
10
|
+
If true, textra.mhselect values 4 (and, with H, 1 and 5) are supported, matching on mcontext.
|
|
11
|
+
Unsupported mhselect values are legalized to 0 (ignore).
|
|
12
|
+
long_name: textra.mhselect supports mcontext matching
|
|
13
|
+
schema:
|
|
14
|
+
type: boolean
|
|
15
|
+
definedBy:
|
|
16
|
+
allOf:
|
|
17
|
+
- extension:
|
|
18
|
+
name: Sdtrig
|
|
19
|
+
- param:
|
|
20
|
+
name: MCONTEXT_IMPLEMENTED
|
|
21
|
+
equal: true
|
|
22
|
+
- param:
|
|
23
|
+
name: TDATA3_IMPLEMENTED
|
|
24
|
+
equal: true
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_TEXTRA_MHSELECT_VMID_MATCH
|
|
9
|
+
description: |
|
|
10
|
+
If true, textra.mhselect values 2 and 6 are supported, matching on the VMID in hgatp.
|
|
11
|
+
Unsupported mhselect values are legalized to 0 (ignore).
|
|
12
|
+
long_name: textra.mhselect supports VMID matching
|
|
13
|
+
schema:
|
|
14
|
+
type: boolean
|
|
15
|
+
definedBy:
|
|
16
|
+
allOf:
|
|
17
|
+
- extension:
|
|
18
|
+
name: Sdtrig
|
|
19
|
+
- extension:
|
|
20
|
+
name: H
|
|
21
|
+
- param:
|
|
22
|
+
name: TDATA3_IMPLEMENTED
|
|
23
|
+
equal: true
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_TEXTRA_MHVALUE_LEN
|
|
9
|
+
description: |
|
|
10
|
+
The number of implemented textra.mhvalue bits. Bits above these are read-only zero.
|
|
11
|
+
long_name: Number of implemented textra.mhvalue bits
|
|
12
|
+
schema:
|
|
13
|
+
type: integer
|
|
14
|
+
minimum: 0
|
|
15
|
+
maximum: 13
|
|
16
|
+
requirements:
|
|
17
|
+
idl(): |
|
|
18
|
+
MXLEN == 32 -> SDTRIG_TEXTRA_MHVALUE_LEN <= 6;
|
|
19
|
+
reason: textra32.mhvalue is 6 bits wide.
|
|
20
|
+
definedBy:
|
|
21
|
+
allOf:
|
|
22
|
+
- extension:
|
|
23
|
+
name: Sdtrig
|
|
24
|
+
- param:
|
|
25
|
+
name: TDATA3_IMPLEMENTED
|
|
26
|
+
equal: true
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_TEXTRA_SSELECT_ASID_MATCH
|
|
9
|
+
description: |
|
|
10
|
+
If true, textra.sselect value 2 is supported, matching on the ASID in satp or vsatp.
|
|
11
|
+
Unsupported sselect values are legalized to 0 (ignore).
|
|
12
|
+
long_name: textra.sselect supports ASID matching
|
|
13
|
+
schema:
|
|
14
|
+
type: boolean
|
|
15
|
+
definedBy:
|
|
16
|
+
allOf:
|
|
17
|
+
- extension:
|
|
18
|
+
name: Sdtrig
|
|
19
|
+
- extension:
|
|
20
|
+
name: S
|
|
21
|
+
- param:
|
|
22
|
+
name: TDATA3_IMPLEMENTED
|
|
23
|
+
equal: true
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_TEXTRA_SSELECT_SCONTEXT_MATCH
|
|
9
|
+
description: |
|
|
10
|
+
If true, textra.sselect value 1 is supported, matching on scontext.
|
|
11
|
+
Unsupported sselect values are legalized to 0 (ignore).
|
|
12
|
+
long_name: textra.sselect supports scontext matching
|
|
13
|
+
schema:
|
|
14
|
+
type: boolean
|
|
15
|
+
definedBy:
|
|
16
|
+
allOf:
|
|
17
|
+
- extension:
|
|
18
|
+
name: Sdtrig
|
|
19
|
+
- extension:
|
|
20
|
+
name: S
|
|
21
|
+
- param:
|
|
22
|
+
name: SCONTEXT_IMPLEMENTED
|
|
23
|
+
equal: true
|
|
24
|
+
- param:
|
|
25
|
+
name: TDATA3_IMPLEMENTED
|
|
26
|
+
equal: true
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_TEXTRA_SVALUE_LEN
|
|
9
|
+
description: |
|
|
10
|
+
The number of implemented textra.svalue bits. Bits above these are read-only zero.
|
|
11
|
+
long_name: Number of implemented textra.svalue bits
|
|
12
|
+
schema:
|
|
13
|
+
type: integer
|
|
14
|
+
minimum: 0
|
|
15
|
+
maximum: 32
|
|
16
|
+
requirements:
|
|
17
|
+
idl(): |
|
|
18
|
+
MXLEN == 32 -> SDTRIG_TEXTRA_SVALUE_LEN <= 16;
|
|
19
|
+
reason: textra32.svalue is 16 bits wide.
|
|
20
|
+
definedBy:
|
|
21
|
+
allOf:
|
|
22
|
+
- extension:
|
|
23
|
+
name: Sdtrig
|
|
24
|
+
- param:
|
|
25
|
+
name: TDATA3_IMPLEMENTED
|
|
26
|
+
equal: true
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_U_WRITABLE
|
|
9
|
+
description: |
|
|
10
|
+
If true, the U bit in every trigger type that has one (mcontrol, mcontrol6, icount, itrigger, etrigger) can be set to 1, so triggers can match in U-mode.
|
|
11
|
+
If false, the U bit is read-only 0. Since the U bit resets to 0, 0 is always supported.
|
|
12
|
+
long_name: Trigger U bit is writable
|
|
13
|
+
schema:
|
|
14
|
+
type: boolean
|
|
15
|
+
definedBy:
|
|
16
|
+
extension:
|
|
17
|
+
allOf:
|
|
18
|
+
- name: Sdtrig
|
|
19
|
+
- name: U
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_VS_WRITABLE
|
|
9
|
+
description: |
|
|
10
|
+
If true, the VS bit in every trigger type that has one (mcontrol, mcontrol6, icount, itrigger, etrigger) can be set to 1, so triggers can match in VS-mode.
|
|
11
|
+
If false, the VS bit is read-only 0. Since the VS bit resets to 0, 0 is always supported.
|
|
12
|
+
long_name: Trigger VS bit is writable
|
|
13
|
+
schema:
|
|
14
|
+
type: boolean
|
|
15
|
+
definedBy:
|
|
16
|
+
extension:
|
|
17
|
+
allOf:
|
|
18
|
+
- name: Sdtrig
|
|
19
|
+
- name: H
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Copyright (C) 2026 Harvey Mudd College
|
|
2
|
+
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
|
3
|
+
|
|
4
|
+
# yaml-language-server: $schema=../../../schemas/param_schema.json
|
|
5
|
+
|
|
6
|
+
$schema: param_schema.json#
|
|
7
|
+
kind: parameter
|
|
8
|
+
name: SDTRIG_VU_WRITABLE
|
|
9
|
+
description: |
|
|
10
|
+
If true, the VU bit in every trigger type that has one (mcontrol, mcontrol6, icount, itrigger, etrigger) can be set to 1, so triggers can match in VU-mode.
|
|
11
|
+
If false, the VU bit is read-only 0. Since the VU bit resets to 0, 0 is always supported.
|
|
12
|
+
long_name: Trigger VU bit is writable
|
|
13
|
+
schema:
|
|
14
|
+
type: boolean
|
|
15
|
+
definedBy:
|
|
16
|
+
extension:
|
|
17
|
+
allOf:
|
|
18
|
+
- name: Sdtrig
|
|
19
|
+
- name: H
|
|
@@ -13,7 +13,7 @@ description: |
|
|
|
13
13
|
|
|
14
14
|
true::
|
|
15
15
|
Supervisor-level external interrupts are implemented.
|
|
16
|
-
`mie.SEIE` and `mideleg.SEI`
|
|
16
|
+
`mie.SEIE` is writable, and `mideleg.SEI` is writable if `MIDELEG_DELEGATABLE[9]` is true.
|
|
17
17
|
|
|
18
18
|
false::
|
|
19
19
|
Supervisor-level external interrupts are not implemented.
|