aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2024-02-27 14:19:55 -0800
committerAndrew Waterman <andrew@sifive.com>2024-02-27 15:10:10 -0800
commitda025f60c7e1a824548432cf13b7a9f761542654 (patch)
tree5958d7a713544a8e672fc8353653fb49c13fbdb7
parent36b5ce1e7480b44c407bbf08249ccd7018f713a3 (diff)
downloadriscv-isa-manual-da025f60c7e1a824548432cf13b7a9f761542654.zip
riscv-isa-manual-da025f60c7e1a824548432cf13b7a9f761542654.tar.gz
riscv-isa-manual-da025f60c7e1a824548432cf13b7a9f761542654.tar.bz2
Clarify when SFENCE.W.INVAL/SFENCE.INVAL.IR are legal
-rw-r--r--src/supervisor.adoc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/supervisor.adoc b/src/supervisor.adoc
index 2b30893..e9f2855 100644
--- a/src/supervisor.adoc
+++ b/src/supervisor.adoc
@@ -2021,6 +2021,12 @@ or VU-mode, or to execute SINVAL.VMA in VU-mode, raises a
virtual-instruction exception. When `hstatus`.VTVM=1, an attempt to execute
SINVAL.VMA in VS-mode also raises a virtual instruction exception.
+Attempting to execute SFENCE.W.INVAL or SFENCE.INVAL.IR in U-mode
+raises an illegal-instruction exception.
+Doing so in VU-mode raises a virtual-instruction exception.
+SFENCE.W.INVAL and SFENCE.INVAL.IR are unaffected by the `mstatus`.TVM and
+`hstatus`.VTVM fields and hence are always permitted in S-mode and VS-mode.
+
[NOTE]
====
SFENCE.W.INVAL and SFENCE.INVAL.IR instructions do not need to be