2323 Writing 0 to this field will cause all atomic instructions to raise an `IllegalInstruction` exception.
2424 type() : |
2525 return (implemented?(ExtensionName::A) && MUTABLE_MISA_A) ? CsrFieldType::RW : CsrFieldType::RO;
26- reset_value() : |
27- return implemented?(ExtensionName::A) ? 1 : 0;
26+ definedBy : A
27+ reset_value : 1
2828 B :
2929 location : 1
3030 description : |
3434 Writing 0 to this field will cause all bitmanip instructions to raise an `IllegalInstruction` exception.
3535 type() : |
3636 return (implemented?(ExtensionName::B) && MUTABLE_MISA_B) ? CsrFieldType::RW : CsrFieldType::RO;
37- reset_value() : |
38- return implemented?(ExtensionName::B) ? 1 : 0;
37+ definedBy : B
38+ reset_value : 1
3939 C :
4040 location : 2
4141 description : |
4646 Additionally, IALIGN becomes 32.
4747 type() : |
4848 return (implemented?(ExtensionName::C) && MUTABLE_MISA_C) ? CsrFieldType::RW : CsrFieldType::RO;
49- reset_value() : |
50- return implemented?(ExtensionName::C) ? 1 : 0;
49+ definedBy : C
50+ reset_value : 1
5151 D :
5252 location : 3
5353 description : |
6161 --
6262 type() : |
6363 return (implemented?(ExtensionName::D) && MUTABLE_MISA_D) ? CsrFieldType::RW : CsrFieldType::RO;
64- reset_value() : |
65- return implemented?(ExtensionName::D) ? 1 : 0;
64+ definedBy : D
65+ reset_value : 1
6666 F :
6767 location : 5
6868 description : |
7676 --
7777 type() : |
7878 return (implemented?(ExtensionName::F) && MUTABLE_MISA_F) ? CsrFieldType::RW : CsrFieldType::RO;
79- reset_value() : |
80- return implemented?(ExtensionName::F) ? 1 : 0;
79+ definedBy : F
80+ reset_value : 1
8181 sw_write(csr_value) : |
8282 if (csr_value.F == 0 && csr_value.D == 1) {
8383 return UNDEFINED_LEGAL_DETERMINISTIC;
@@ -115,13 +115,14 @@ misa:
115115 Writing 0 to this field will cause all attempts to enter VS- or VU- mode, execute a hypervisor instruction, or access a hypervisor CSR to raise an `IllegalInstruction` fault.
116116 type() : |
117117 return (implemented?(ExtensionName::H) && MUTABLE_MISA_H) ? CsrFieldType::RW : CsrFieldType::RO;
118- reset_value() : |
119- return implemented?(ExtensionName::H) ? 1 : 0;
118+ definedBy : H
119+ reset_value : 1
120120 I :
121121 location : 8
122122 description : |
123123 Indicates support for the `I` (base) extension.
124124 type : RO
125+ definedBy : I
125126 reset_value : 1
126127 M :
127128 location : 13
@@ -132,8 +133,8 @@ misa:
132133 Writing 0 to this field will cause all attempts to execute an integer multiply or divide instruction to raise an `IllegalInstruction` exception.
133134 type() : |
134135 return (implemented?(ExtensionName::M) && MUTABLE_MISA_M) ? CsrFieldType::RW : CsrFieldType::RO;
135- reset_value() : |
136- return implemented?(ExtensionName::M) ? 1 : 0;
136+ definedBy : M
137+ reset_value : 1
137138 S :
138139 location : 19
139140 description : |
@@ -143,8 +144,8 @@ misa:
143144 Writing 0 to this field will cause all attempts to enter S-mode or access S-mode state to raise an exception.
144145 type() : |
145146 return (implemented?(ExtensionName::S) && MUTABLE_MISA_S) ? CsrFieldType::RW : CsrFieldType::RO;
146- reset_value() : |
147- return implemented?(ExtensionName::S) ? 1 : 0;
147+ definedBy : S
148+ reset_value : 1
148149 U :
149150 location : 21
150151 description : |
@@ -154,19 +155,18 @@ misa:
154155 Writing 0 to this field will cause all attempts to enter U-mode to raise an exception.
155156 type() : |
156157 return (implemented?(ExtensionName::U) && MUTABLE_MISA_U) ? CsrFieldType::RW : CsrFieldType::RO;
157- reset_value() : |
158- return implemented?(ExtensionName::U) ? 1 : 0;
158+ definedBy : U
159+ reset_value : 1
159160 V :
160161 location : 22
161162 description : |
162163 Indicates support for the `V` (vector) extension.
163164
164- [when,"MUTABLE_MISA_S == true"]
165+ [when,"MUTABLE_MISA_V == true"]
165166 Writing 0 to this field will cause all attempts to execute a vector instruction to raise an `IllegalInstruction` trap.
166167 type : RO
167- reset_value : 0 # TODO
168- # reset_value(): |
169- # return implemented?(ExtensionName::V) ? 1 : 0;
168+ definedBy : V
169+ reset_value : 1
170170 sw_read() : |
171171 return (
172172 (CSR[misa].MXL << 62) |
0 commit comments