@@ -139,22 +139,11 @@ fields:
139139 }
140140 definedBy : F
141141 sw_write(csr_value) : |
142- if (MISA_CSR_IMPLEMENTED) {
143- if (csr_value.F == 0 && csr_value.D == 1) {
144- return UNDEFINED_LEGAL_DETERMINISTIC;
145- }
146-
147- # fall-through; write the intended value
148- return csr_value.F;
149- } else {
150- return 0;
151- }
152- legal?(csr_value) : |
153- if (MISA_CSR_IMPLEMENTED) {
154- return !(csr_value.F == 0 && csr_value.D == 1);
155- } else {
156- return true;
142+ if (csr_value.F == 0 && csr_value.D == 1) {
143+ return UNDEFINED_LEGAL_DETERMINISTIC;
157144 }
145+ # fall-through; write the intended value
146+ return csr_value.F;
158147 G :
159148 location : 6
160149 description : |
@@ -272,22 +261,12 @@ fields:
272261 return MISA_CSR_IMPLEMENTED ? 1 : 0;
273262 definedBy : Q
274263 sw_write(csr_value) : |
275- if (MISA_CSR_IMPLEMENTED) {
276- if ((csr_value.F == 0 || csr_value.D == 0) && csr_value.Q == 1) {
277- return UNDEFINED_LEGAL_DETERMINISTIC;
278- }
279-
280- # fall-through; write the intended value
281- return csr_value.Q;
282- } else {
283- return 0;
284- }
285- legal?(csr_value) : |
286- if (MISA_CSR_IMPLEMENTED) {
287- return !(csr_value.Q == 1 && csr_value.D == 0);
288- } else {
289- return true;
264+ if ((csr_value.F == 0 || csr_value.D == 0) && csr_value.Q == 1) {
265+ return UNDEFINED_LEGAL_DETERMINISTIC;
290266 }
267+
268+ # fall-through; write the intended value
269+ return csr_value.Q;
291270 S :
292271 location : 18
293272 description : |
@@ -333,11 +312,8 @@ fields:
333312 description : |
334313 Indicates support for the `V` (vector) extension.
335314
336- [when,"MUTABLE_MISA_V == true && MISA_CSR_IMPLEMENTED == true "]
315+ [when,"MUTABLE_MISA_V == true"]
337316 Writing 0 to this field will cause all attempts to execute a vector instruction to raise an `IllegalInstruction` trap.
338-
339- [when,"MISA_CSR_IMPLEMENTED == false"]
340- This field reads as 0 and cannot be modified.
341317 type() : |
342318 if (MISA_CSR_IMPLEMENTED && implemented?(ExtensionName::V) && MUTABLE_MISA_V) {
343319 return CsrFieldType::RW;
0 commit comments