From 6ec42742cc4feebbe5d3e13a30b08f003aba02b5 Mon Sep 17 00:00:00 2001 From: Tariq Kurd Date: Fri, 8 Nov 2024 17:34:55 +0000 Subject: [PATCH] reinstate mstatus.CRG with justification (#445) mstatus.CRG is back so as not to break the SAIL model. sstatus must be a subset of mstatus so the field must exist. --- src/cheri-pte-ext.adoc | 48 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/src/cheri-pte-ext.adoc b/src/cheri-pte-ext.adoc index f0791a32..a079ee23 100644 --- a/src/cheri-pte-ext.adoc +++ b/src/cheri-pte-ext.adoc @@ -163,6 +163,54 @@ The <> and <> CSRs are extende When V=1 <>.CRG is in effect. +<>.CRG also exists. Reading or writing it is equivalent to reading or writing <>.CRG. + +NOTE: As there is no M-mode translation available in RISC-V, there is no current software use for <>.CRG. +It is _only_ included not to break the rule that <> is required to be a subset of <>. + + +[#mstatusreg_pte] +.Virtual Supervisor-mode status (*mstatus*) register when MXLEN=64 +[wavedrom, ,svg] +.... +{reg: [ + {bits: 1, name: 'WPRI'}, + {bits: 1, name: 'SIE'}, + {bits: 1, name: 'WPRI'}, + {bits: 1, name: 'MIE'}, + {bits: 1, name: 'WPRI'}, + {bits: 1, name: 'SPIE'}, + {bits: 1, name: 'UBE'}, + {bits: 1, name: 'MPIE'}, + {bits: 1, name: 'SPP'}, + {bits: 2, name: 'VS[1:0]'}, + {bits: 2, name: 'MPP[1:0]'}, + {bits: 2, name: 'FS[1:0]'}, + {bits: 2, name: 'XS[1:0]'}, + {bits: 1, name: 'MPRV'}, + {bits: 1, name: 'SUM'}, + {bits: 1, name: 'MXR'}, + {bits: 1, name: 'TVM'}, + {bits: 1, name: 'TW'}, + {bits: 1, name: 'TSR'}, + {bits: 1, name: 'SPELP'}, + {bits: 1, name: 'SDT'}, + {bits: 7, name: 'WPRI'}, + {bits: 2, name: 'UXL[1:0]'}, + {bits: 2, name: 'SXL[1:0]'}, + {bits: 1, name: 'SBE'}, + {bits: 1, name: 'MBE'}, + {bits: 1, name: 'GVA'}, + {bits: 1, name: 'MPV'}, + {bits: 1, name: 'WPRI'}, + {bits: 1, name: 'MPELP'}, + {bits: 1, name: 'MDT'}, + {bits: 19, name: 'WPRI'}, + {bits: 1, name: 'CRG'}, + {bits: 1, name: 'SD'}, +], config:{lanes: 4, hspace:1024}} +.... + [#sstatusreg_pte] .Supervisor-mode status (*sstatus*) register when SXLEN=64 [wavedrom, ,svg]