@@ -74,8 +74,15 @@ include::img/stidreg.edn[]
74
74
[#vstid,reftext="vstid"]
75
75
==== Virtual Supervisor Thread Identifier (vstid)
76
76
77
- The <<vstid>> register is a VSLEN-bit read-write register. It is used to
78
- identify the current thread in virtual supervisor mode. The reset value of this
77
+ The <<vstid>> register is a VSLEN-bit read-write register. It is VS-mode's
78
+ version of supervisor register <<stid>> used to identify the current
79
+ thread in virtual supervisor mode. As other Virtual Supervisor registers
80
+ when V=1, <<vstid>> substitutes for the usual <<stid>>, so that
81
+ instructions that normally read or modify <<stid>> actually access
82
+ <<vstid>> instead. When V=0, <<vstid>> does not directly affect the
83
+ behaviour of the machine.
84
+
85
+ The reset value of this
79
86
register is UNSPECIFIED.
80
87
81
88
.Virtual supervisor thread identifier register
@@ -122,8 +129,13 @@ include::img/stidcreg.edn[]
122
129
==== Virtual Supervisor Thread Identifier Capability (vstidc)
123
130
124
131
The <<vstidc>> register is a CLEN-bit read-write capability register.
125
- It is the capability extension of the <<vstid>> register.
126
- It is used to identify the current thread in virtual supervisor mode.
132
+ It is the capability extension of the <<stidc>> register used to
133
+ identify the current thread in virtual supervisor mode.
134
+ As other Virtual Supervisor registers when V=1, <<vstidc>> substitutes
135
+ for the usual <<stidc>>, so that instructions that normally read or modify
136
+ <<stidc>> actually access <<vstidc>> instead.
137
+ When V=0, <<vstidc>> does not directly affect the
138
+ behaviour of the machine.
127
139
On reset the tag of <<vstidc>> will be set to 0 and the remainder
128
140
of the data is UNSPECIFIED.
129
141
0 commit comments