aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgfavor <47677210+gfavor@users.noreply.github.com>2021-12-29 12:56:02 -0800
committerGitHub <noreply@github.com>2021-12-29 12:56:02 -0800
commitfb7e2361dff9fafe931965e517970b2bf0039713 (patch)
tree993fc5ce603c80823a0ec7e71d5b2f87ee648abc
parent01c5f49bd9866d34bd5977c8287510311decaa55 (diff)
downloadriscv-isa-manual-fb7e2361dff9fafe931965e517970b2bf0039713.zip
riscv-isa-manual-fb7e2361dff9fafe931965e517970b2bf0039713.tar.gz
riscv-isa-manual-fb7e2361dff9fafe931965e517970b2bf0039713.tar.bz2
Clarify handling of direct and indirect vsatp.MODE writes with Reserved values.
Clarify the intent to allow (but not require) the handling of writes to the vsatp.MODE field with Reserved values to be the same when performed by a hypervisor directly writing vsatp versus a guest OS writing vsatp indirectly via an satp write.
-rw-r--r--src/hypervisor.tex7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/hypervisor.tex b/src/hypervisor.tex
index 4909b70..b3fc696 100644
--- a/src/hypervisor.tex
+++ b/src/hypervisor.tex
@@ -1818,11 +1818,10 @@ In particular, virtual-machine load/store (HLV, HLVX, or HSV) instructions
that are misspeculatively executed must not cause VS-stage A bits to be set.
\end{commentary}
-When V=0, a write to {\tt vsatp} with an unsupported MODE value is not
-ignored as it is for {\tt satp}.
-Instead, the fields of {\tt vsatp} are {\warl} in the normal way.
+When V=0, a write to {\tt vsatp} with an unsupported MODE value is either
+ignored as it is for {\tt satp}, or the fields of {\tt vsatp} are treated as {\warl} in the normal way.
However, when V=1, a write to {\tt satp} with an unsupported MODE value
-{\em is} ignored; no write to {\tt vsatp} is effected.
+{\em is} ignored and no write to {\tt vsatp} is effected.
When V=0, {\tt vsatp} does not directly affect the behavior of the machine,
unless a virtual-machine load/store (HLV, HLVX, or HSV)