Skip to content

Commit c133198

Browse files
committed
refactor(data): convert SCTRCLR description to array form
Signed-off-by: Derek Hower <[email protected]>
1 parent 8c95734 commit c133198

File tree

1 file changed

+31
-18
lines changed

1 file changed

+31
-18
lines changed

arch/inst/Smdbltrp/sctrclr.yaml

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,39 @@ $schema: inst_schema.json#
44
kind: instruction
55
name: sctrclr
66
long_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
2740
definedBy:
2841
anyOf: [Smctr, Ssctr]
2942
assembly: sctrclr

0 commit comments

Comments
 (0)