Skip to content

Commit 1273886

Browse files
authored
take #2 on envcfg.CBIE WARL (#200)
1 parent a5dce13 commit 1273886

File tree

4 files changed

+9
-9
lines changed

4 files changed

+9
-9
lines changed

arch/csr/menvcfg.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,8 +247,8 @@ menvcfg:
247247
type: RW-R
248248
sw_write(csr_value): |
249249
if ((csr_value.CBIE == 0) ||
250-
(ALLOW_CBO_INVAL_UPGRADE_TO_FLUSH && (csr_value.CBIE == 1)) ||
251-
(csr_value.CBIE == 3)) {
250+
(csr_value.CBIE == 1) ||
251+
((!FORCE_UPGRADE_CBO_INVAL_TO_FLUSH) && (csr_value.CBIE == 3))) {
252252
return csr_value.CBIE;
253253
} else {
254254
return CSR[menvcfg].CBIE;

arch/ext/Zicbom.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ Zicbom:
1515
also_defined_in: [Zicboz, Zicbop]
1616
schema:
1717
type: integer
18-
ALLOW_CBO_INVAL_UPGRADE_TO_FLUSH:
18+
FORCE_UPGRADE_CBO_INVAL_TO_FLUSH:
1919
description: |
20-
When true, an implementation can (when `menvcfg.CBIE` == `01`) upgrade a `cbo.inval`
21-
instruction to a `cbo.flush`.
20+
When true, an implementation prohibits setting `menvcfg.CBIE` == `11` such that all `cbo.inval`
21+
instructions either trap (when `menvcfg.CBIE` == '00') or flush (when `menvcfg.CBIE` == '01').
2222
23-
When false, an implementation does not support the upgrade, and the value '01' cannot be
24-
written to `menvcfg.CBIE`.
23+
When false, an implementation allows a true INVAL operation for `cbo.inval`, and thus supports
24+
the setting `menvcfg.CBIE` == `11`.
2525
schema:
2626
type: boolean

cfgs/generic_rv64/params.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -514,4 +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
517+
FORCE_UPGRADE_CBO_INVAL_TO_FLUSH: true

ext/riscv-isa-manual

Submodule riscv-isa-manual updated 54 files

0 commit comments

Comments
 (0)