@@ -4,26 +4,39 @@ $schema: inst_schema.json#
44kind : instruction
55name : sctrclr
66long_name : Supervisor Control Transfer Record (CTR) clear
7- description : |
8- When `mstateen0.CTR`=1, the SCTRCLR instruction performs the following operations:
7+ description :
8+ - id : inst-sctrclr-operation
9+ normative : false
10+ text : |
11+ When `mstateen0.CTR`=1, the SCTRCLR instruction performs the following operations:
912
10- * Zeroes all CTR Entry Registers, for all DEPTH values
11- * Reset to Zero the optional CTR cycle counter where implemented
12- ** `ctrdata.CC` and `ctrdata.CC` bit fields.
13+ * Zeroes all CTR Entry Registers, for all DEPTH values
14+ * Reset to Zero the optional CTR cycle counter where implemented
15+ ** `ctrdata.CC` and `ctrdata.CC` bit fields.
16+ - id : inst-sctrclr-csr-effect
17+ normative : true
18+ text : |
19+ Any read of `ctrsource`, `ctrtarget`, or `ctrdata` that follows SCTRCLR, such that it precedes the next
20+ qualified control transfer, will return the value 0.
21+ - id : inst-sctrclr-after
22+ normative : true
23+ text : |
24+ Further, the first recorded transfer following SCTRCLR will have `ctrdata.CCV`=0.
25+ - id : inst-sctrclr-illegal
26+ normative : false
27+ text : |
28+ SCTRCLR execution causes an `IllegalInstruction` exception if:
1329
14- Any read of `ctrsource`, `ctrtarget`, or `ctrdata` that follows SCTRCLR, such that it precedes the next
15- qualified control transfer, will return the value 0.
16- Further, the first recorded transfer following SCTRCLR will have `ctrdata.CCV`=0.
17-
18- SCTRCLR execution causes an `IllegalInstruction` exception if:
19-
20- * `Smctr` is not implemented
21- * The instruction is executed in S/VS/VU-mode and `Ssctr` is not implemented, or `mstateen0.CTR`=0
22- * The instruction is executed in U-mode
23-
24- SCTRCLR execution causes a `VirtualInstruciton` exception if `mstateen0.CTR`=1 and:
25- * The instruction is executed in VS-mode and `hstateen0.CTR`=0
26- * The instruction is executed in VU-mode
30+ * `Smctr` is not implemented
31+ * The instruction is executed in S/VS/VU-mode and `Ssctr` is not implemented, or `mstateen0.CTR`=0
32+ * The instruction is executed in U-mode
33+ - id : inst-sctrclr-virtual
34+ normative : false
35+ text : |
36+ SCTRCLR execution causes a `VirtualInstruciton` exception if `mstateen0.CTR`=1 and:
37+
38+ * The instruction is executed in VS-mode and `hstateen0.CTR`=0
39+ * The instruction is executed in VU-mode
2740definedBy :
2841 anyOf : [Smctr, Ssctr]
2942assembly : sctrclr
0 commit comments