You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: arch/ext/F.yaml
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -246,13 +246,13 @@ F:
246
246
Values are:
247
247
[separator="!"]
248
248
!===
249
-
h! none ! Hardware never writes `mstatus.FS`
249
+
h! never ! Hardware never writes `mstatus.FS`
250
250
h! precise ! Hardware writes `mstatus.FS` to the Dirty (3) state precisely when F registers are modified
251
251
h! imprecise ! Hardware writes `mstatus.FS` imprecisely. This will result in a call to unpredictable() on any attempt to read `mstatus` or write FP state.
252
252
!===
253
253
schema:
254
254
type: string
255
-
enum: ["none", "precise", "imprecise"]
255
+
enum: ["never", "precise", "imprecise"]
256
256
MSTATUS_FS_LEGAL_VALUES:
257
257
description: |
258
258
The set of values that mstatus.FS will accept from a software write.
@@ -268,4 +268,4 @@ F:
268
268
assert MSTATUS_FS_LEGAL_VALUES.include?(0) && MSTATUS_FS_LEGAL_VALUES.include?(3) if ext?(:F)
269
269
270
270
# if HW is writing FS, then Dirty (3) better be a supported value
271
-
assert MSTATUS_FS_LEGAL_VALUES.include?(3) if ext?(:F) && (HW_MSTATUS_FS_DIRTY_UPDATE != "none")
271
+
assert MSTATUS_FS_LEGAL_VALUES.include?(3) if ext?(:F) && (HW_MSTATUS_FS_DIRTY_UPDATE != "never")
Copy file name to clipboardExpand all lines: arch/ext/V.yaml
+31-1Lines changed: 31 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -14,4 +14,34 @@ V:
14
14
description: |
15
15
Indicates whether or not the `V` extension can be disabled with the `misa.V` bit.
16
16
schema:
17
-
type: boolean
17
+
type: boolean
18
+
HW_MSTATUS_VS_DIRTY_UPDATE:
19
+
description: |
20
+
Indicates whether or not hardware will write to `mstatus.VS`
21
+
22
+
Values are:
23
+
[separator="!"]
24
+
!===
25
+
h! never ! Hardware never writes `mstatus.VS`
26
+
h! precise ! Hardware writes `mstatus.VS` to the Dirty (3) state precisely when V registers are modified
27
+
h! imprecise ! Hardware writes `mstatus.VS` imprecisely. This will result in a call to unpredictable() on any attempt to read `mstatus` or write vector state.
28
+
!===
29
+
schema:
30
+
type: string
31
+
enum: ["never", "precise", "imprecise"]
32
+
MSTATUS_VS_LEGAL_VALUES:
33
+
description: |
34
+
The set of values that mstatus.VS will accept from a software write.
35
+
schema:
36
+
type: array
37
+
items:
38
+
type: integer
39
+
enum: [0,1,2,3]
40
+
maxItems: 4
41
+
uniqueItems: true
42
+
also_defined_in: S
43
+
extra_validation: |
44
+
assert MSTATUS_VS_LEGAL_VALUES.include?(0) && MSTATUS_VS_LEGAL_VALUES.include?(3) if ext?(:V)
45
+
46
+
# if HW is writing VS, then Dirty (3) better be a supported value
47
+
assert MSTATUS_VS_LEGAL_VALUES.include?(3) if ext?(:V) && (HW_MSTATUS_VS_DIRTY_UPDATE != "never")
0 commit comments