From af79247c53379f8b35df4e14f5945e2a57041cb4 Mon Sep 17 00:00:00 2001 From: Paul Buxton Date: Fri, 8 Nov 2024 16:00:41 +0000 Subject: [PATCH] Clarify behaviour of vstid/vstidc registers. The specification is not completly clear on the behaviour of the vstid/c registers. Propose it should follow the behaviour of other virtual supervisor registers. --- src/tid-ext.adoc | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/tid-ext.adoc b/src/tid-ext.adoc index c9eec355..45bd2b83 100644 --- a/src/tid-ext.adoc +++ b/src/tid-ext.adoc @@ -74,8 +74,15 @@ include::img/stidreg.edn[] [#vstid,reftext="vstid"] ==== Virtual Supervisor Thread Identifier (vstid) -The <> register is a VSLEN-bit read-write register. It is used to -identify the current thread in virtual supervisor mode. The reset value of this +The <> register is a VSLEN-bit read-write register. It is VS-mode's +version of supervisor register <> used to identify the current +thread in virtual supervisor mode. As other Virtual Supervisor registers +when V=1, <> substitutes for the usual <>, so that +instructions that normally read or modify <> actually access +<> instead. When V=0, <> does not directly affect the +behaviour of the machine. + +The reset value of this register is UNSPECIFIED. .Virtual supervisor thread identifier register @@ -122,8 +129,13 @@ include::img/stidcreg.edn[] ==== Virtual Supervisor Thread Identifier Capability (vstidc) The <> register is a CLEN-bit read-write capability register. -It is the capability extension of the <> register. -It is used to identify the current thread in virtual supervisor mode. +It is the capability extension of the <> register used to +identify the current thread in virtual supervisor mode. +As other Virtual Supervisor registers when V=1, <> substitutes +for the usual <>, so that instructions that normally read or modify +<> actually access <> instead. +When V=0, <> does not directly affect the +behaviour of the machine. On reset the tag of <> will be set to 0 and the remainder of the data is UNSPECIFIED.