udb 0.1.9 → 0.1.13
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 -2
- data/.data/cfgs/mc100-32-full-example.yaml +1 -0
- data/.data/cfgs/profile/README.adoc +10 -0
- data/.data/cfgs/profile/RVA20S64.yaml +26 -6
- data/.data/cfgs/profile/RVA20U64.yaml +18 -4
- data/.data/cfgs/profile/RVA22S64.yaml +27 -7
- data/.data/cfgs/profile/RVA22U64.yaml +18 -4
- data/.data/cfgs/profile/RVA23S64.yaml +61 -7
- data/.data/cfgs/profile/RVA23U64.yaml +36 -4
- data/.data/cfgs/profile/RVB23S64.yaml +27 -7
- data/.data/cfgs/profile/RVB23U64.yaml +18 -4
- data/.data/cfgs/profile/RVI20U32.yaml +10 -4
- data/.data/cfgs/profile/RVI20U64.yaml +10 -4
- data/.data/cfgs/qc_iu.yaml +4 -1
- data/.data/cfgs/rv32-riscv-tests.yaml +2 -1
- data/.data/cfgs/rv32-vector.yaml +2 -1
- data/.data/cfgs/rv64-riscv-tests.yaml +2 -1
- data/.data/cfgs/rv64-vector.yaml +2 -1
- data/.data/spec/custom/isa/qc_iu/csr/Smrnmi/mnepc.yaml +17 -0
- data/.data/spec/custom/isa/qc_iu/csr/Xqccmi/qc.itba.yaml +45 -0
- data/.data/spec/custom/isa/qc_iu/csr/Xqccmi/qc.itdec.yaml +39 -0
- data/.data/spec/custom/isa/qc_iu/csr/jvt.yaml +11 -0
- data/.data/spec/custom/isa/qc_iu/csr/mepc.yaml +16 -0
- data/.data/spec/custom/isa/qc_iu/ext/Xqccmi.yaml +219 -0
- data/.data/spec/custom/isa/qc_iu/ext/Xqccmt.yaml +127 -0
- data/.data/spec/custom/isa/qc_iu/inst/Xqccmi/qc.cm.ilut.yaml +153 -0
- data/.data/spec/custom/isa/qc_iu/inst/Xqccmt/qc.cm.jalt.yaml +84 -0
- data/.data/spec/custom/isa/qc_iu/inst/Xqccmt/qc.cm.jt.yaml +60 -0
- data/.data/spec/custom/isa/qc_iu/isa/globals.isa +112 -0
- data/.data/spec/schemas/config_schema.json +219 -26
- data/.data/spec/schemas/csr_schema.json +0 -6
- data/.data/spec/schemas/ext_schema.json +80 -24
- data/.data/spec/schemas/inst_schema.json +0 -3
- data/.data/spec/schemas/profile_release_schema.json +1 -1
- data/.data/spec/schemas/profile_schema.json +0 -3
- data/.data/spec/schemas/register_file_schema.json +8 -3
- data/.data/spec/schemas/schema_defs.json +8 -27
- data/.data/spec/std/isa/csr/I/pmpcfg0.yaml +8 -8
- data/.data/spec/std/isa/csr/I/pmpcfg1.yaml +4 -4
- data/.data/spec/std/isa/csr/I/pmpcfg10.yaml +8 -8
- data/.data/spec/std/isa/csr/I/pmpcfg11.yaml +4 -4
- data/.data/spec/std/isa/csr/I/pmpcfg12.yaml +8 -8
- data/.data/spec/std/isa/csr/I/pmpcfg13.yaml +4 -4
- data/.data/spec/std/isa/csr/I/pmpcfg14.yaml +8 -8
- data/.data/spec/std/isa/csr/I/pmpcfg15.yaml +4 -4
- data/.data/spec/std/isa/csr/I/pmpcfg2.yaml +8 -8
- data/.data/spec/std/isa/csr/I/pmpcfg3.yaml +4 -4
- data/.data/spec/std/isa/csr/I/pmpcfg4.yaml +8 -8
- data/.data/spec/std/isa/csr/I/pmpcfg5.yaml +4 -4
- data/.data/spec/std/isa/csr/I/pmpcfg6.yaml +8 -8
- data/.data/spec/std/isa/csr/I/pmpcfg7.yaml +4 -4
- data/.data/spec/std/isa/csr/I/pmpcfg8.yaml +8 -8
- data/.data/spec/std/isa/csr/I/pmpcfg9.yaml +4 -4
- data/.data/spec/std/isa/csr/I/pmpcfgN.layout +1 -1
- data/.data/spec/std/isa/csr/Zicntr/mcountinhibit.layout +6 -2
- data/.data/spec/std/isa/csr/Zicntr/mcountinhibit.yaml +6 -2
- data/.data/spec/std/isa/csr/hstatus.yaml +16 -0
- data/.data/spec/std/isa/csr/mcycleh.yaml +1 -1
- data/.data/spec/std/isa/csr/misa.yaml +0 -12
- data/.data/spec/std/isa/csr/mstatus.yaml +38 -0
- data/.data/spec/std/isa/csr/mstatush.yaml +17 -15
- data/.data/spec/std/isa/csr/senvcfg.yaml +16 -0
- data/.data/spec/std/isa/csr/sstatus.yaml +12 -0
- data/.data/spec/std/isa/csr/vsstatus.yaml +24 -0
- data/.data/spec/std/isa/ext/A.yaml +5 -7
- data/.data/spec/std/isa/ext/S.yaml +12 -0
- data/.data/spec/std/isa/ext/Smpmpmt.yaml +52 -0
- data/.data/spec/std/isa/ext/Sv32.yaml +7 -19
- data/.data/spec/std/isa/ext/Sv39.yaml +7 -19
- data/.data/spec/std/isa/ext/Sv48.yaml +4 -20
- data/.data/spec/std/isa/ext/Sv57.yaml +4 -20
- data/.data/spec/std/isa/ext/Svukte.yaml +71 -0
- data/.data/spec/std/isa/ext/Zawrs.yaml +1 -1
- data/.data/spec/std/isa/ext/Zihpm.yaml +0 -12
- data/.data/spec/std/isa/inst/C/c.addi.yaml +1 -0
- data/.data/spec/std/isa/inst/C/c.addi16sp.yaml +1 -0
- data/.data/spec/std/isa/inst/C/c.addiw.yaml +1 -0
- data/.data/spec/std/isa/inst/C/c.andi.yaml +1 -0
- data/.data/spec/std/isa/inst/C/c.ldsp.yaml +1 -1
- data/.data/spec/std/isa/inst/C/c.li.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 -1
- data/.data/spec/std/isa/inst/C/c.sdsp.yaml +1 -1
- data/.data/spec/std/isa/inst/D/fsgnj.d.yaml +3 -0
- data/.data/spec/std/isa/inst/D/fsgnjn.d.yaml +3 -0
- data/.data/spec/std/isa/inst/D/fsgnjx.d.yaml +3 -0
- data/.data/spec/std/isa/inst/F/fadd.s.yaml +5 -5
- data/.data/spec/std/isa/inst/F/fclass.s.yaml +2 -2
- 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.w.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 +2 -2
- data/.data/spec/std/isa/inst/F/fle.s.yaml +2 -2
- data/.data/spec/std/isa/inst/F/fleq.s.yaml +2 -2
- data/.data/spec/std/isa/inst/F/flt.s.yaml +2 -2
- data/.data/spec/std/isa/inst/F/fltq.s.yaml +2 -2
- data/.data/spec/std/isa/inst/F/flw.yaml +2 -2
- data/.data/spec/std/isa/inst/F/fmadd.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fmax.s.yaml +6 -6
- data/.data/spec/std/isa/inst/F/fmin.s.yaml +6 -6
- 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 +2 -2
- data/.data/spec/std/isa/inst/F/fmv.x.w.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fnmadd.s.yaml +2 -2
- data/.data/spec/std/isa/inst/F/fnmsub.s.yaml +1 -1
- data/.data/spec/std/isa/inst/F/fsgnj.s.yaml +4 -4
- data/.data/spec/std/isa/inst/F/fsgnjn.s.yaml +3 -3
- data/.data/spec/std/isa/inst/F/fsgnjx.s.yaml +4 -4
- 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 +1 -1
- data/.data/spec/std/isa/inst/I/addi.yaml +1 -1
- data/.data/spec/std/isa/inst/I/addiw.yaml +1 -1
- data/.data/spec/std/isa/inst/I/andi.yaml +1 -1
- data/.data/spec/std/isa/inst/I/beq.yaml +1 -1
- data/.data/spec/std/isa/inst/I/bge.yaml +4 -2
- data/.data/spec/std/isa/inst/I/bgeu.yaml +3 -0
- data/.data/spec/std/isa/inst/I/blt.yaml +4 -2
- data/.data/spec/std/isa/inst/I/bltu.yaml +3 -0
- data/.data/spec/std/isa/inst/I/bne.yaml +1 -1
- data/.data/spec/std/isa/inst/I/slt.yaml +2 -2
- data/.data/spec/std/isa/inst/I/sltiu.yaml +1 -1
- data/.data/spec/std/isa/inst/I/sltu.yaml +1 -1
- data/.data/spec/std/isa/inst/I/sub.yaml +1 -1
- data/.data/spec/std/isa/inst/I/subw.yaml +1 -1
- data/.data/spec/std/isa/inst/I/xori.yaml +1 -1
- data/.data/spec/std/isa/inst/M/mul.yaml +0 -19
- data/.data/spec/std/isa/inst/Q/fsgnj.q.yaml +1 -1
- data/.data/spec/std/isa/inst/S/sret.yaml +3 -1
- data/.data/spec/std/isa/inst/V/vadd.vv.yaml +1 -5
- data/.data/spec/std/isa/inst/V/vfsgnjn.vv.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vfsgnjx.vv.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vl1re8.v.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vl2re8.v.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vl4re8.v.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vl8re8.v.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vle8.v.yaml +3 -8
- data/.data/spec/std/isa/inst/V/vmand.mm.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vmfle.vv.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vmflt.vv.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vmnand.mm.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vmsgt.vi.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vmsgtu.vi.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vmsle.vi.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vmsle.vv.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vmsleu.vi.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vmsleu.vv.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vmslt.vv.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vmsltu.vv.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vmv.v.i.yaml +2 -13
- data/.data/spec/std/isa/inst/V/vmv.x.s.yaml +1 -1
- data/.data/spec/std/isa/inst/V/vmxnor.mm.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vmxor.mm.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vnsrl.wx.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vrsub.vx.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vse8.v.yaml +3 -4
- data/.data/spec/std/isa/inst/V/vwadd.vx.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vwaddu.vx.yaml +3 -0
- data/.data/spec/std/isa/inst/V/vxor.vi.yaml +4 -0
- data/.data/spec/std/isa/inst/Zalasr/lSIZE.AQRL.layout +40 -5
- data/.data/spec/std/isa/inst/Zalasr/lb.aq.yaml +17 -1
- data/.data/spec/std/isa/inst/Zalasr/lb.aqrl.yaml +17 -1
- data/.data/spec/std/isa/inst/Zalasr/ld.aq.yaml +17 -1
- data/.data/spec/std/isa/inst/Zalasr/ld.aqrl.yaml +17 -1
- data/.data/spec/std/isa/inst/Zalasr/lh.aq.yaml +17 -1
- data/.data/spec/std/isa/inst/Zalasr/lh.aqrl.yaml +17 -1
- data/.data/spec/std/isa/inst/Zalasr/lw.aq.yaml +17 -1
- data/.data/spec/std/isa/inst/Zalasr/lw.aqrl.yaml +17 -1
- data/.data/spec/std/isa/inst/Zalasr/sSIZE.AQRL.layout +46 -5
- data/.data/spec/std/isa/inst/Zalasr/sb.aqrl.yaml +16 -1
- data/.data/spec/std/isa/inst/Zalasr/sb.rl.yaml +16 -1
- data/.data/spec/std/isa/inst/Zalasr/sd.aqrl.yaml +16 -1
- data/.data/spec/std/isa/inst/Zalasr/sd.rl.yaml +16 -1
- data/.data/spec/std/isa/inst/Zalasr/sh.aqrl.yaml +16 -1
- data/.data/spec/std/isa/inst/Zalasr/sh.rl.yaml +16 -1
- data/.data/spec/std/isa/inst/Zalasr/sw.aqrl.yaml +16 -1
- data/.data/spec/std/isa/inst/Zalasr/sw.rl.yaml +16 -1
- data/.data/spec/std/isa/inst/Zbkb/packw.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcd/c.fld.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcd/c.fldsp.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcd/c.fsdsp.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcf/c.flwsp.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcf/c.fswsp.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcmp/cm.pop.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcmp/cm.popret.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcmp/cm.popretz.yaml +1 -1
- data/.data/spec/std/isa/inst/Zcmp/cm.push.yaml +2 -3
- data/.data/spec/std/isa/inst/Zfa/fround.s.yaml +1 -1
- data/.data/spec/std/isa/inst/Zfh/fcvt.h.s.yaml +6 -6
- data/.data/spec/std/isa/inst/Zfh/fcvt.s.h.yaml +5 -5
- data/.data/spec/std/isa/inst/Zfh/flh.yaml +1 -1
- data/.data/spec/std/isa/inst/Zfh/fmv.h.x.yaml +1 -1
- data/.data/spec/std/isa/inst/Zfh/fmv.x.h.yaml +1 -1
- data/.data/spec/std/isa/inst/Zfh/fsh.yaml +1 -1
- data/.data/spec/std/isa/inst/Zicsr/csrrc.yaml +1 -1
- data/.data/spec/std/isa/inst/Zicsr/csrrci.yaml +1 -1
- data/.data/spec/std/isa/inst/Zicsr/csrrs.yaml +2 -2
- data/.data/spec/std/isa/inst/Zicsr/csrrsi.yaml +1 -1
- data/.data/spec/std/isa/inst/Zicsr/csrrw.yaml +1 -1
- data/.data/spec/std/isa/inst/Zicsr/csrrwi.yaml +1 -1
- data/.data/spec/std/isa/isa/builtin_functions.idl +17 -0
- data/.data/spec/std/isa/isa/fp.idl +1 -5
- data/.data/spec/std/isa/isa/globals.isa +45 -14
- data/.data/spec/std/isa/isa/vec.idl +1 -2
- data/.data/spec/std/isa/manual_version/isa/20240411/isa_20240411.yaml +5 -5
- data/.data/spec/std/isa/param/COUNTINHIBIT_EN.yaml +8 -2
- data/.data/spec/std/isa/param/JVT_BASE_MASK.yaml +1 -1
- data/.data/spec/std/isa/param/MCOUNTINHIBIT_IMPLEMENTED.yaml +25 -0
- data/.data/spec/std/isa/param/MTVEC_MODES.yaml +10 -3
- data/.data/spec/std/isa/param/VLEN.yaml +2 -0
- data/.data/spec/std/isa/profile/RVA20S64.yaml +11 -4
- data/.data/spec/std/isa/profile/RVA20U64.yaml +14 -5
- data/.data/spec/std/isa/profile/RVA22S64.yaml +14 -3
- data/.data/spec/std/isa/profile/RVA22U64.yaml +8 -1
- data/.data/spec/std/isa/profile/RVA23S64.yaml +13 -0
- data/.data/spec/std/isa/profile/RVA23U64.yaml +15 -1
- data/.data/spec/std/isa/profile/RVB23S64.yaml +15 -3
- data/.data/spec/std/isa/profile/RVB23U64.yaml +8 -1
- data/.data/spec/std/isa/profile/RVI20U32.yaml +8 -1
- data/.data/spec/std/isa/profile/RVI20U64.yaml +7 -0
- data/.data/spec/std/isa/register_file/F.yaml +3 -2
- data/.data/spec/std/isa/register_file/V.yaml +2 -2
- data/.data/spec/std/isa/register_file/X.yaml +2 -1
- data/lib/udb/architecture.rb +4 -25
- data/lib/udb/cfg_arch.rb +171 -59
- data/lib/udb/cli.rb +10 -1
- data/lib/udb/condition.rb +38 -37
- data/lib/udb/config.rb +72 -6
- data/lib/udb/logic.rb +29 -56
- data/lib/udb/obj/csr.rb +23 -5
- data/lib/udb/obj/csr_field.rb +36 -21
- data/lib/udb/obj/database_obj.rb +2 -5
- data/lib/udb/obj/extension.rb +0 -3
- data/lib/udb/obj/instruction.rb +1 -4
- data/lib/udb/obj/portfolio.rb +75 -20
- data/lib/udb/obj/profile.rb +0 -4
- data/lib/udb/obj/register_file.rb +63 -2
- data/lib/udb/portfolio_design.rb +3 -6
- data/lib/udb/resolver.rb +84 -23
- data/lib/udb/version.rb +1 -1
- data/lib/udb/version_spec.rb +8 -0
- data/lib/udb/z3.rb +23 -0
- data/lib/udb.rb +0 -3
- metadata +25 -37
- data/.data/cfgs/profile/RVA23M64.yaml +0 -159
- data/.data/cfgs/profile/RVB23M64.yaml +0 -149
- data/.data/spec/schemas/proc_cert_class_schema.json +0 -35
- data/.data/spec/schemas/proc_cert_model_schema.json +0 -336
- data/.data/spec/std/isa/proc_cert_class/AC.yaml +0 -13
- data/.data/spec/std/isa/proc_cert_class/MC.yaml +0 -13
- data/.data/spec/std/isa/proc_cert_class/RVI.yaml +0 -16
- data/.data/spec/std/isa/proc_cert_model/AC100.yaml +0 -72
- data/.data/spec/std/isa/proc_cert_model/AC200.yaml +0 -58
- data/.data/spec/std/isa/proc_cert_model/MC100-32.yaml +0 -155
- data/.data/spec/std/isa/proc_cert_model/MC100-64.yaml +0 -21
- data/.data/spec/std/isa/proc_cert_model/MC200-32.yaml +0 -60
- data/.data/spec/std/isa/proc_cert_model/MC200-64.yaml +0 -21
- data/.data/spec/std/isa/proc_cert_model/MC300-32.yaml +0 -40
- data/.data/spec/std/isa/proc_cert_model/MC300-64.yaml +0 -21
- data/.data/spec/std/isa/proc_cert_model/RVI20-32.yaml +0 -39
- data/.data/spec/std/isa/proc_cert_model/RVI20-64.yaml +0 -19
- data/.data/spec/std/isa/profile/RVA23M64.yaml +0 -24
- data/.data/spec/std/isa/profile/RVB23M64.yaml +0 -86
- data/lib/udb/cert_normative_rule.rb +0 -41
- data/lib/udb/obj/certifiable_obj.rb +0 -21
- data/lib/udb/obj/certificate.rb +0 -230
- data/lib/udb/proc_cert_design.rb +0 -77
|
@@ -36,7 +36,7 @@ fields:
|
|
|
36
36
|
! Name ! Location ! Description
|
|
37
37
|
|
|
38
38
|
h! L ! 7 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
39
|
-
h!
|
|
39
|
+
h! MT ! 6:5 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
40
40
|
h! A ! 4:3
|
|
41
41
|
a! Address matching mode. One of:
|
|
42
42
|
|
|
@@ -94,7 +94,7 @@ fields:
|
|
|
94
94
|
! Name ! Location ! Description
|
|
95
95
|
|
|
96
96
|
h! L ! 15 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
97
|
-
h!
|
|
97
|
+
h! MT ! 14:13 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
98
98
|
h! A ! 12:11
|
|
99
99
|
a! Address matching mode. One of:
|
|
100
100
|
|
|
@@ -152,7 +152,7 @@ fields:
|
|
|
152
152
|
! Name ! Location ! Description
|
|
153
153
|
|
|
154
154
|
h! L ! 23 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
155
|
-
h!
|
|
155
|
+
h! MT ! 22:21 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
156
156
|
h! A ! 20:19
|
|
157
157
|
a! Address matching mode. One of:
|
|
158
158
|
|
|
@@ -210,7 +210,7 @@ fields:
|
|
|
210
210
|
! Name ! Location ! Description
|
|
211
211
|
|
|
212
212
|
h! L ! 31 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
213
|
-
h!
|
|
213
|
+
h! MT ! 30:29 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
214
214
|
h! A ! 28:27
|
|
215
215
|
a! Address matching mode. One of:
|
|
216
216
|
|
|
@@ -35,7 +35,7 @@ fields:
|
|
|
35
35
|
! Name ! Location ! Description
|
|
36
36
|
|
|
37
37
|
h! L ! 7 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
38
|
-
h!
|
|
38
|
+
h! MT ! 6:5 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
39
39
|
h! A ! 4:3
|
|
40
40
|
a! Address matching mode. One of:
|
|
41
41
|
|
|
@@ -93,7 +93,7 @@ fields:
|
|
|
93
93
|
! Name ! Location ! Description
|
|
94
94
|
|
|
95
95
|
h! L ! 15 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
96
|
-
h!
|
|
96
|
+
h! MT ! 14:13 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
97
97
|
h! A ! 12:11
|
|
98
98
|
a! Address matching mode. One of:
|
|
99
99
|
|
|
@@ -151,7 +151,7 @@ fields:
|
|
|
151
151
|
! Name ! Location ! Description
|
|
152
152
|
|
|
153
153
|
h! L ! 23 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
154
|
-
h!
|
|
154
|
+
h! MT ! 22:21 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
155
155
|
h! A ! 20:19
|
|
156
156
|
a! Address matching mode. One of:
|
|
157
157
|
|
|
@@ -209,7 +209,7 @@ fields:
|
|
|
209
209
|
! Name ! Location ! Description
|
|
210
210
|
|
|
211
211
|
h! L ! 31 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
212
|
-
h!
|
|
212
|
+
h! MT ! 30:29 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
213
213
|
h! A ! 28:27
|
|
214
214
|
a! Address matching mode. One of:
|
|
215
215
|
|
|
@@ -269,7 +269,7 @@ fields:
|
|
|
269
269
|
! Name ! Location ! Description
|
|
270
270
|
|
|
271
271
|
h! L ! 39 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
272
|
-
h!
|
|
272
|
+
h! MT ! 38:37 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
273
273
|
h! A ! 36:35
|
|
274
274
|
a! Address matching mode. One of:
|
|
275
275
|
|
|
@@ -329,7 +329,7 @@ fields:
|
|
|
329
329
|
! Name ! Location ! Description
|
|
330
330
|
|
|
331
331
|
h! L ! 47 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
332
|
-
h!
|
|
332
|
+
h! MT ! 46:45 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
333
333
|
h! A ! 44:43
|
|
334
334
|
a! Address matching mode. One of:
|
|
335
335
|
|
|
@@ -389,7 +389,7 @@ fields:
|
|
|
389
389
|
! Name ! Location ! Description
|
|
390
390
|
|
|
391
391
|
h! L ! 55 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
392
|
-
h!
|
|
392
|
+
h! MT ! 54:53 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
393
393
|
h! A ! 52:51
|
|
394
394
|
a! Address matching mode. One of:
|
|
395
395
|
|
|
@@ -449,7 +449,7 @@ fields:
|
|
|
449
449
|
! Name ! Location ! Description
|
|
450
450
|
|
|
451
451
|
h! L ! 63 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
452
|
-
h!
|
|
452
|
+
h! MT ! 62:61 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
453
453
|
h! A ! 60:59
|
|
454
454
|
a! Address matching mode. One of:
|
|
455
455
|
|
|
@@ -36,7 +36,7 @@ fields:
|
|
|
36
36
|
! Name ! Location ! Description
|
|
37
37
|
|
|
38
38
|
h! L ! 7 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
39
|
-
h!
|
|
39
|
+
h! MT ! 6:5 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
40
40
|
h! A ! 4:3
|
|
41
41
|
a! Address matching mode. One of:
|
|
42
42
|
|
|
@@ -94,7 +94,7 @@ fields:
|
|
|
94
94
|
! Name ! Location ! Description
|
|
95
95
|
|
|
96
96
|
h! L ! 15 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
97
|
-
h!
|
|
97
|
+
h! MT ! 14:13 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
98
98
|
h! A ! 12:11
|
|
99
99
|
a! Address matching mode. One of:
|
|
100
100
|
|
|
@@ -152,7 +152,7 @@ fields:
|
|
|
152
152
|
! Name ! Location ! Description
|
|
153
153
|
|
|
154
154
|
h! L ! 23 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
155
|
-
h!
|
|
155
|
+
h! MT ! 22:21 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
156
156
|
h! A ! 20:19
|
|
157
157
|
a! Address matching mode. One of:
|
|
158
158
|
|
|
@@ -210,7 +210,7 @@ fields:
|
|
|
210
210
|
! Name ! Location ! Description
|
|
211
211
|
|
|
212
212
|
h! L ! 31 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
213
|
-
h!
|
|
213
|
+
h! MT ! 30:29 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
214
214
|
h! A ! 28:27
|
|
215
215
|
a! Address matching mode. One of:
|
|
216
216
|
|
|
@@ -35,7 +35,7 @@ fields:
|
|
|
35
35
|
! Name ! Location ! Description
|
|
36
36
|
|
|
37
37
|
h! L ! 7 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
38
|
-
h!
|
|
38
|
+
h! MT ! 6:5 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
39
39
|
h! A ! 4:3
|
|
40
40
|
a! Address matching mode. One of:
|
|
41
41
|
|
|
@@ -93,7 +93,7 @@ fields:
|
|
|
93
93
|
! Name ! Location ! Description
|
|
94
94
|
|
|
95
95
|
h! L ! 15 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
96
|
-
h!
|
|
96
|
+
h! MT ! 14:13 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
97
97
|
h! A ! 12:11
|
|
98
98
|
a! Address matching mode. One of:
|
|
99
99
|
|
|
@@ -151,7 +151,7 @@ fields:
|
|
|
151
151
|
! Name ! Location ! Description
|
|
152
152
|
|
|
153
153
|
h! L ! 23 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
154
|
-
h!
|
|
154
|
+
h! MT ! 22:21 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
155
155
|
h! A ! 20:19
|
|
156
156
|
a! Address matching mode. One of:
|
|
157
157
|
|
|
@@ -209,7 +209,7 @@ fields:
|
|
|
209
209
|
! Name ! Location ! Description
|
|
210
210
|
|
|
211
211
|
h! L ! 31 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
212
|
-
h!
|
|
212
|
+
h! MT ! 30:29 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
213
213
|
h! A ! 28:27
|
|
214
214
|
a! Address matching mode. One of:
|
|
215
215
|
|
|
@@ -269,7 +269,7 @@ fields:
|
|
|
269
269
|
! Name ! Location ! Description
|
|
270
270
|
|
|
271
271
|
h! L ! 39 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
272
|
-
h!
|
|
272
|
+
h! MT ! 38:37 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
273
273
|
h! A ! 36:35
|
|
274
274
|
a! Address matching mode. One of:
|
|
275
275
|
|
|
@@ -329,7 +329,7 @@ fields:
|
|
|
329
329
|
! Name ! Location ! Description
|
|
330
330
|
|
|
331
331
|
h! L ! 47 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
332
|
-
h!
|
|
332
|
+
h! MT ! 46:45 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
333
333
|
h! A ! 44:43
|
|
334
334
|
a! Address matching mode. One of:
|
|
335
335
|
|
|
@@ -389,7 +389,7 @@ fields:
|
|
|
389
389
|
! Name ! Location ! Description
|
|
390
390
|
|
|
391
391
|
h! L ! 55 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
392
|
-
h!
|
|
392
|
+
h! MT ! 54:53 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
393
393
|
h! A ! 52:51
|
|
394
394
|
a! Address matching mode. One of:
|
|
395
395
|
|
|
@@ -449,7 +449,7 @@ fields:
|
|
|
449
449
|
! Name ! Location ! Description
|
|
450
450
|
|
|
451
451
|
h! L ! 63 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
452
|
-
h!
|
|
452
|
+
h! MT ! 62:61 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
453
453
|
h! A ! 60:59
|
|
454
454
|
a! Address matching mode. One of:
|
|
455
455
|
|
|
@@ -36,7 +36,7 @@ fields:
|
|
|
36
36
|
! Name ! Location ! Description
|
|
37
37
|
|
|
38
38
|
h! L ! 7 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
39
|
-
h!
|
|
39
|
+
h! MT ! 6:5 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
40
40
|
h! A ! 4:3
|
|
41
41
|
a! Address matching mode. One of:
|
|
42
42
|
|
|
@@ -94,7 +94,7 @@ fields:
|
|
|
94
94
|
! Name ! Location ! Description
|
|
95
95
|
|
|
96
96
|
h! L ! 15 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
97
|
-
h!
|
|
97
|
+
h! MT ! 14:13 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
98
98
|
h! A ! 12:11
|
|
99
99
|
a! Address matching mode. One of:
|
|
100
100
|
|
|
@@ -152,7 +152,7 @@ fields:
|
|
|
152
152
|
! Name ! Location ! Description
|
|
153
153
|
|
|
154
154
|
h! L ! 23 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
155
|
-
h!
|
|
155
|
+
h! MT ! 22:21 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
156
156
|
h! A ! 20:19
|
|
157
157
|
a! Address matching mode. One of:
|
|
158
158
|
|
|
@@ -210,7 +210,7 @@ fields:
|
|
|
210
210
|
! Name ! Location ! Description
|
|
211
211
|
|
|
212
212
|
h! L ! 31 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
213
|
-
h!
|
|
213
|
+
h! MT ! 30:29 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
214
214
|
h! A ! 28:27
|
|
215
215
|
a! Address matching mode. One of:
|
|
216
216
|
|
|
@@ -35,7 +35,7 @@ fields:
|
|
|
35
35
|
! Name ! Location ! Description
|
|
36
36
|
|
|
37
37
|
h! L ! 7 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
38
|
-
h!
|
|
38
|
+
h! MT ! 6:5 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
39
39
|
h! A ! 4:3
|
|
40
40
|
a! Address matching mode. One of:
|
|
41
41
|
|
|
@@ -93,7 +93,7 @@ fields:
|
|
|
93
93
|
! Name ! Location ! Description
|
|
94
94
|
|
|
95
95
|
h! L ! 15 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
96
|
-
h!
|
|
96
|
+
h! MT ! 14:13 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
97
97
|
h! A ! 12:11
|
|
98
98
|
a! Address matching mode. One of:
|
|
99
99
|
|
|
@@ -151,7 +151,7 @@ fields:
|
|
|
151
151
|
! Name ! Location ! Description
|
|
152
152
|
|
|
153
153
|
h! L ! 23 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
154
|
-
h!
|
|
154
|
+
h! MT ! 22:21 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
155
155
|
h! A ! 20:19
|
|
156
156
|
a! Address matching mode. One of:
|
|
157
157
|
|
|
@@ -209,7 +209,7 @@ fields:
|
|
|
209
209
|
! Name ! Location ! Description
|
|
210
210
|
|
|
211
211
|
h! L ! 31 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
212
|
-
h!
|
|
212
|
+
h! MT ! 30:29 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
213
213
|
h! A ! 28:27
|
|
214
214
|
a! Address matching mode. One of:
|
|
215
215
|
|
|
@@ -269,7 +269,7 @@ fields:
|
|
|
269
269
|
! Name ! Location ! Description
|
|
270
270
|
|
|
271
271
|
h! L ! 39 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
272
|
-
h!
|
|
272
|
+
h! MT ! 38:37 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
273
273
|
h! A ! 36:35
|
|
274
274
|
a! Address matching mode. One of:
|
|
275
275
|
|
|
@@ -329,7 +329,7 @@ fields:
|
|
|
329
329
|
! Name ! Location ! Description
|
|
330
330
|
|
|
331
331
|
h! L ! 47 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
332
|
-
h!
|
|
332
|
+
h! MT ! 46:45 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
333
333
|
h! A ! 44:43
|
|
334
334
|
a! Address matching mode. One of:
|
|
335
335
|
|
|
@@ -389,7 +389,7 @@ fields:
|
|
|
389
389
|
! Name ! Location ! Description
|
|
390
390
|
|
|
391
391
|
h! L ! 55 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
392
|
-
h!
|
|
392
|
+
h! MT ! 54:53 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
393
393
|
h! A ! 52:51
|
|
394
394
|
a! Address matching mode. One of:
|
|
395
395
|
|
|
@@ -449,7 +449,7 @@ fields:
|
|
|
449
449
|
! Name ! Location ! Description
|
|
450
450
|
|
|
451
451
|
h! L ! 63 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
452
|
-
h!
|
|
452
|
+
h! MT ! 62:61 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
453
453
|
h! A ! 60:59
|
|
454
454
|
a! Address matching mode. One of:
|
|
455
455
|
|
|
@@ -36,7 +36,7 @@ fields:
|
|
|
36
36
|
! Name ! Location ! Description
|
|
37
37
|
|
|
38
38
|
h! L ! 7 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
39
|
-
h!
|
|
39
|
+
h! MT ! 6:5 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
40
40
|
h! A ! 4:3
|
|
41
41
|
a! Address matching mode. One of:
|
|
42
42
|
|
|
@@ -94,7 +94,7 @@ fields:
|
|
|
94
94
|
! Name ! Location ! Description
|
|
95
95
|
|
|
96
96
|
h! L ! 15 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
97
|
-
h!
|
|
97
|
+
h! MT ! 14:13 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
98
98
|
h! A ! 12:11
|
|
99
99
|
a! Address matching mode. One of:
|
|
100
100
|
|
|
@@ -152,7 +152,7 @@ fields:
|
|
|
152
152
|
! Name ! Location ! Description
|
|
153
153
|
|
|
154
154
|
h! L ! 23 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
155
|
-
h!
|
|
155
|
+
h! MT ! 22:21 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
156
156
|
h! A ! 20:19
|
|
157
157
|
a! Address matching mode. One of:
|
|
158
158
|
|
|
@@ -210,7 +210,7 @@ fields:
|
|
|
210
210
|
! Name ! Location ! Description
|
|
211
211
|
|
|
212
212
|
h! L ! 31 ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
213
|
-
h!
|
|
213
|
+
h! MT ! 30:29 ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
214
214
|
h! A ! 28:27
|
|
215
215
|
a! Address matching mode. One of:
|
|
216
216
|
|
|
@@ -48,7 +48,7 @@ fields:
|
|
|
48
48
|
! Name ! Location ! Description
|
|
49
49
|
|
|
50
50
|
h! L ! <%= ((i+1)*8)-1 %> ! Locks the entry from further modification. Additionally, when set, PMP checks also apply to M-mode for the entry.
|
|
51
|
-
h!
|
|
51
|
+
h! MT ! <%= ((i+1)*8)-2 %>:<%= ((i+1)*8)-3 %> ! When the `Smpmpmt` extension is implemented, MT (Memory Type) is a WARL field that overrides the memory type for accesses that match this PMP entry. See the `Smpmpmt` extension definition for encodings. When the `Smpmpmt` extension is not implemented, MT is _Reserved_ Writes shall be ignored.
|
|
52
52
|
h! A ! <%= ((i+1)*8)-4 %>:<%= ((i+1)*8)-5 %>
|
|
53
53
|
a! Address matching mode. One of:
|
|
54
54
|
|
|
@@ -73,6 +73,22 @@ fields:
|
|
|
73
73
|
} else {
|
|
74
74
|
return csr_value.VSXL;
|
|
75
75
|
}
|
|
76
|
+
HUKTE:
|
|
77
|
+
location: 24
|
|
78
|
+
long_name: Hypervisor UKTE
|
|
79
|
+
description: |
|
|
80
|
+
If the Svukte extension is implemented, the HUKTE field determines
|
|
81
|
+
whether the HLV, HLVX, and HSV instructions, when executed in U-mode,
|
|
82
|
+
are Svukte-qualified.
|
|
83
|
+
When one of these instructions is executed in U-mode, it behaves as though
|
|
84
|
+
`senvcfg`.UKTE were set to the value of HUKTE.
|
|
85
|
+
If Svukte is not implemented, HUKTE is read-only zero.
|
|
86
|
+
|
|
87
|
+
definedBy:
|
|
88
|
+
extension:
|
|
89
|
+
name: Svukte
|
|
90
|
+
type: RW
|
|
91
|
+
reset_value: UNDEFINED_LEGAL
|
|
76
92
|
VTSR:
|
|
77
93
|
location: 22
|
|
78
94
|
long_name: Virtual Trap SRET
|
|
@@ -165,12 +165,6 @@ fields:
|
|
|
165
165
|
definedBy:
|
|
166
166
|
extension:
|
|
167
167
|
name: M
|
|
168
|
-
cert_normative_rules:
|
|
169
|
-
- id: csr_field.misa.M.disabled
|
|
170
|
-
name: Disabling `misa.M` bit
|
|
171
|
-
description: What happens when you turn off `misa.M`
|
|
172
|
-
doc_links:
|
|
173
|
-
- manual:csr:misa:disabling-extension
|
|
174
168
|
Q:
|
|
175
169
|
location: 16
|
|
176
170
|
description: |
|
|
@@ -251,9 +245,3 @@ sw_read(): |
|
|
|
251
245
|
(CSR[misa].C `<< 2) |
|
|
252
246
|
(CSR[misa].B `<< 1) |
|
|
253
247
|
CSR[misa].A);
|
|
254
|
-
cert_normative_rules:
|
|
255
|
-
- id: csr.misa.disabling_bits
|
|
256
|
-
name: Disabling `misa` bits
|
|
257
|
-
description: What happens when you turn off bits
|
|
258
|
-
doc_links:
|
|
259
|
-
- manual:csr:misa:disabling-extension
|
|
@@ -72,6 +72,26 @@ fields:
|
|
|
72
72
|
name: Smdbltrp
|
|
73
73
|
type: RW-H
|
|
74
74
|
reset_value: UNDEFINED_LEGAL
|
|
75
|
+
MPELP:
|
|
76
|
+
location: 41
|
|
77
|
+
long_name: M-mode Previous Expected Landing Pad state
|
|
78
|
+
description: |
|
|
79
|
+
Holds the previous Expected Landing Pad (`ELP`) state when entering
|
|
80
|
+
M-mode from a trap, and is restored to `ELP` on `MRET`.
|
|
81
|
+
|
|
82
|
+
Defined by the Zicfilp extension.
|
|
83
|
+
|
|
84
|
+
Encoded as:
|
|
85
|
+
|
|
86
|
+
* 0 - `NO_LP_EXPECTED` - no landing pad instruction expected.
|
|
87
|
+
* 1 - `LP_EXPECTED` - a landing pad instruction is expected.
|
|
88
|
+
type: RW-H
|
|
89
|
+
reset_value: UNDEFINED_LEGAL
|
|
90
|
+
definedBy:
|
|
91
|
+
allOf:
|
|
92
|
+
- xlen: 64
|
|
93
|
+
- extension:
|
|
94
|
+
name: Zicfilp
|
|
75
95
|
MPV:
|
|
76
96
|
location: 39
|
|
77
97
|
long_name: Machine Previous Virtualization mode
|
|
@@ -245,6 +265,24 @@ fields:
|
|
|
245
265
|
return 2;
|
|
246
266
|
}
|
|
247
267
|
|
|
268
|
+
SPELP:
|
|
269
|
+
location: 23
|
|
270
|
+
long_name: S-mode Previous Expected Landing Pad state
|
|
271
|
+
description: |
|
|
272
|
+
Holds the previous Expected Landing Pad (`ELP`) state when entering
|
|
273
|
+
(H)S-mode from a trap, and is restored to `ELP` on `SRET`.
|
|
274
|
+
|
|
275
|
+
Defined by the Zicfilp extension.
|
|
276
|
+
|
|
277
|
+
Encoded as:
|
|
278
|
+
|
|
279
|
+
* 0 - `NO_LP_EXPECTED` - no landing pad instruction expected.
|
|
280
|
+
* 1 - `LP_EXPECTED` - a landing pad instruction is expected.
|
|
281
|
+
type: RW-H
|
|
282
|
+
reset_value: UNDEFINED_LEGAL
|
|
283
|
+
definedBy:
|
|
284
|
+
extension:
|
|
285
|
+
name: Zicfilp
|
|
248
286
|
TSR:
|
|
249
287
|
location: 22
|
|
250
288
|
long_name: Trap SRET
|
|
@@ -24,39 +24,40 @@ fields:
|
|
|
24
24
|
MDT:
|
|
25
25
|
location: 10
|
|
26
26
|
description: |
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
On reset in set to 1, and software should write it to 0 when boot sequence is done.
|
|
32
|
-
When mstatush.MDT=1, direct write by CSR instruction cannot set mstatus.MIE to 1.
|
|
27
|
+
see `mstatus.MDT`
|
|
28
|
+
type: RW-H
|
|
29
|
+
reset_value: UNDEFINED_LEGAL
|
|
30
|
+
alias: mstatus.MDT
|
|
33
31
|
definedBy:
|
|
34
32
|
extension:
|
|
35
33
|
name: Smdbltrp
|
|
34
|
+
MPELP:
|
|
35
|
+
location: 9
|
|
36
|
+
description: |
|
|
37
|
+
see `mstatus.MPELP`
|
|
36
38
|
type: RW-H
|
|
37
39
|
reset_value: UNDEFINED_LEGAL
|
|
40
|
+
alias: mstatus.MPELP
|
|
41
|
+
definedBy:
|
|
42
|
+
extension:
|
|
43
|
+
name: Zicfilp
|
|
38
44
|
MPV:
|
|
39
45
|
location: 7
|
|
40
46
|
description: |
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
Written with the prior virtualization mode when entering M-mode from an exception/interrupt.
|
|
44
|
-
When returning via an MRET instruction, the virtualization mode becomes the value of MPV unless MPP=3, in which case the virtualization mode is always 0.
|
|
45
|
-
Can also be written by software.
|
|
47
|
+
see `mstatus.MPV`
|
|
46
48
|
type: RW-H
|
|
47
49
|
reset_value: UNDEFINED_LEGAL
|
|
50
|
+
alias: mstatus.MPV
|
|
48
51
|
definedBy:
|
|
49
52
|
extension:
|
|
50
53
|
name: H
|
|
51
54
|
GVA:
|
|
52
55
|
location: 6
|
|
53
56
|
description: |
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
When a trap is taken and a guest virtual address is written into mtval, GVA is set.
|
|
57
|
-
When a trap is taken and a guest virtual address is written into mtval, GVA is cleared.
|
|
57
|
+
see `mstatus.GVA`
|
|
58
58
|
type: RW-H
|
|
59
59
|
reset_value: 0
|
|
60
|
+
alias: mstatus.GVA
|
|
60
61
|
definedBy:
|
|
61
62
|
extension:
|
|
62
63
|
name: H
|
|
@@ -86,3 +87,4 @@ fields:
|
|
|
86
87
|
} else {
|
|
87
88
|
return UNDEFINED_LEGAL;
|
|
88
89
|
}
|
|
90
|
+
alias: mstatus.SBE
|
|
@@ -124,6 +124,22 @@ fields:
|
|
|
124
124
|
return UNDEFINED_LEGAL_DETERMINISTIC;
|
|
125
125
|
}
|
|
126
126
|
reset_value: UNDEFINED_LEGAL
|
|
127
|
+
UKTE:
|
|
128
|
+
location: 8
|
|
129
|
+
description: |
|
|
130
|
+
If the Svukte extension is implemented, the UKTE field affects the behavior of
|
|
131
|
+
instruction fetches and explicit memory accesses.
|
|
132
|
+
When UKTE=0, instruction fetches and explicit memory accesses proceed as
|
|
133
|
+
though the Svukte extension were not implemented.
|
|
134
|
+
When UKTE=1, instruction fetches and explicit memory accesses with effective
|
|
135
|
+
privilege mode U or VU are Svukte-qualified, as described in <<sec:svukte>>.
|
|
136
|
+
If Svukte is not implemented, UKTE is read-only zero.
|
|
137
|
+
|
|
138
|
+
definedBy:
|
|
139
|
+
extension:
|
|
140
|
+
name: Svukte
|
|
141
|
+
type: RW
|
|
142
|
+
reset_value: UNDEFINED_LEGAL
|
|
127
143
|
SSE:
|
|
128
144
|
location: 3
|
|
129
145
|
description: |
|
|
@@ -44,6 +44,18 @@ fields:
|
|
|
44
44
|
|
|
45
45
|
type: RO
|
|
46
46
|
reset_value: 2
|
|
47
|
+
SPELP:
|
|
48
|
+
alias: mstatus.SPELP
|
|
49
|
+
location: 23
|
|
50
|
+
description: |
|
|
51
|
+
*Previous Expected Landing Pad state*
|
|
52
|
+
|
|
53
|
+
Alias of `mstatus.SPELP`.
|
|
54
|
+
type: RW-H
|
|
55
|
+
definedBy:
|
|
56
|
+
extension:
|
|
57
|
+
name: Zicfilp
|
|
58
|
+
reset_value: UNDEFINED_LEGAL
|
|
47
59
|
MXR:
|
|
48
60
|
alias: mstatus.MXR
|
|
49
61
|
location: 19
|
|
@@ -60,6 +60,30 @@ fields:
|
|
|
60
60
|
return ($array_size(VUXLEN) > 1) ? CsrFieldType::RW : CsrFieldType::RO;
|
|
61
61
|
reset_value(): |
|
|
62
62
|
return ($array_size(VUXLEN) > 1) ? UNDEFINED_LEGAL : VUXLEN[0];
|
|
63
|
+
SPELP:
|
|
64
|
+
location: 23
|
|
65
|
+
long_name: VS-mode Previous Expected Landing Pad state
|
|
66
|
+
description: |
|
|
67
|
+
Holds the previous Expected Landing Pad (`ELP`) state when entering
|
|
68
|
+
VS-mode from a trap, and is restored to `ELP` on `SRET` from VS-mode.
|
|
69
|
+
|
|
70
|
+
Defined by the Zicfilp extension.
|
|
71
|
+
|
|
72
|
+
Per the privileged architecture, accesses to `sstatus.SPELP` resolve to
|
|
73
|
+
`mstatus.SPELP` when V=0, and to `vsstatus.SPELP` when V=1; the V=1
|
|
74
|
+
routing is handled by the H-extension CSR address remap (`virtual_address`
|
|
75
|
+
on this CSR), so this field is independent state — not an alias of
|
|
76
|
+
`mstatus.SPELP`.
|
|
77
|
+
|
|
78
|
+
Encoded as:
|
|
79
|
+
|
|
80
|
+
* 0 - `NO_LP_EXPECTED` - no landing pad instruction expected.
|
|
81
|
+
* 1 - `LP_EXPECTED` - a landing pad instruction is expected.
|
|
82
|
+
type: RW-H
|
|
83
|
+
reset_value: UNDEFINED_LEGAL
|
|
84
|
+
definedBy:
|
|
85
|
+
extension:
|
|
86
|
+
name: Zicfilp
|
|
63
87
|
MXR:
|
|
64
88
|
alias: mstatus.MXR
|
|
65
89
|
location: 19
|