Skip to content

Commit 6ec4274

Browse files
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.
1 parent 1594796 commit 6ec4274

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

src/cheri-pte-ext.adoc

+48
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,54 @@ The <<sstatusreg_pte,sstatus>> and <<vsstatusreg_pte,vsstatus>> CSRs are extende
163163

164164
When V=1 <<vsstatusreg_pte,vsstatus>>.CRG is in effect.
165165

166+
<<mstatusreg_pte,mstatus>>.CRG also exists. Reading or writing it is equivalent to reading or writing <<sstatusreg_pte,sstatus>>.CRG.
167+
168+
NOTE: As there is no M-mode translation available in RISC-V, there is no current software use for <<mstatusreg_pte,mstatus>>.CRG.
169+
It is _only_ included not to break the rule that <<sstatusreg_pte,sstatus>> is required to be a subset of <<mstatusreg_pte,mstatus>>.
170+
171+
172+
[#mstatusreg_pte]
173+
.Virtual Supervisor-mode status (*mstatus*) register when MXLEN=64
174+
[wavedrom, ,svg]
175+
....
176+
{reg: [
177+
{bits: 1, name: 'WPRI'},
178+
{bits: 1, name: 'SIE'},
179+
{bits: 1, name: 'WPRI'},
180+
{bits: 1, name: 'MIE'},
181+
{bits: 1, name: 'WPRI'},
182+
{bits: 1, name: 'SPIE'},
183+
{bits: 1, name: 'UBE'},
184+
{bits: 1, name: 'MPIE'},
185+
{bits: 1, name: 'SPP'},
186+
{bits: 2, name: 'VS[1:0]'},
187+
{bits: 2, name: 'MPP[1:0]'},
188+
{bits: 2, name: 'FS[1:0]'},
189+
{bits: 2, name: 'XS[1:0]'},
190+
{bits: 1, name: 'MPRV'},
191+
{bits: 1, name: 'SUM'},
192+
{bits: 1, name: 'MXR'},
193+
{bits: 1, name: 'TVM'},
194+
{bits: 1, name: 'TW'},
195+
{bits: 1, name: 'TSR'},
196+
{bits: 1, name: 'SPELP'},
197+
{bits: 1, name: 'SDT'},
198+
{bits: 7, name: 'WPRI'},
199+
{bits: 2, name: 'UXL[1:0]'},
200+
{bits: 2, name: 'SXL[1:0]'},
201+
{bits: 1, name: 'SBE'},
202+
{bits: 1, name: 'MBE'},
203+
{bits: 1, name: 'GVA'},
204+
{bits: 1, name: 'MPV'},
205+
{bits: 1, name: 'WPRI'},
206+
{bits: 1, name: 'MPELP'},
207+
{bits: 1, name: 'MDT'},
208+
{bits: 19, name: 'WPRI'},
209+
{bits: 1, name: 'CRG'},
210+
{bits: 1, name: 'SD'},
211+
], config:{lanes: 4, hspace:1024}}
212+
....
213+
166214
[#sstatusreg_pte]
167215
.Supervisor-mode status (*sstatus*) register when SXLEN=64
168216
[wavedrom, ,svg]

0 commit comments

Comments
 (0)