File tree Expand file tree Collapse file tree 3 files changed +14
-2
lines changed Expand file tree Collapse file tree 3 files changed +14
-2
lines changed Original file line number Diff line number Diff line change @@ -246,7 +246,9 @@ menvcfg:
246246 definedBy : Zicbom
247247 type : RW-R
248248 sw_write(csr_value) : |
249- if (csr_value.CBIE == 0 || csr_value.CBIE == 1 || csr_value.CBIE == 3) {
249+ if ((csr_value.CBIE == 0) ||
250+ (ALLOW_CBO_INVAL_UPGRADE_TO_FLUSH && (csr_value.CBIE == 1)) ||
251+ (csr_value.CBIE == 3)) {
250252 return csr_value.CBIE;
251253 } else {
252254 return CSR[menvcfg].CBIE;
Original file line number Diff line number Diff line change @@ -14,4 +14,13 @@ Zicbom:
1414 The observable size of a cache block, in bytes
1515 also_defined_in : [Zicboz, Zicbop]
1616 schema :
17- type : integer
17+ type : integer
18+ ALLOW_CBO_INVAL_UPGRADE_TO_FLUSH :
19+ description : |
20+ When true, an implementation can (when `menvcfg.CBIE` == `01`) upgrade a `cbo.inval`
21+ instruction to a `cbo.flush`.
22+
23+ When false, an implementation does not support the upgrade, and the value '01' cannot be
24+ written to `menvcfg.CBIE`.
25+ schema :
26+ type : boolean
Original file line number Diff line number Diff line change @@ -514,3 +514,4 @@ params:
514514 MSTATUS_FS_WRITEABLE : true
515515 MSTATUS_TVM_IMPLEMENTED : true
516516 HW_MSTATUS_FS_DIRTY_UPDATE : precise
517+ ALLOW_CBO_INVAL_UPGRADE_TO_FLUSH : true
You can’t perform that action at this time.
0 commit comments