aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2021-05-20 14:56:57 -0700
committerAndrew Waterman <andrew@sifive.com>2021-05-20 14:59:16 -0700
commit35100d2d08d6e99b73f7e6788a14738ba86e0b63 (patch)
tree90e9ae2f616201e6a40f5e4923dbf4295253d3d5
parent78696fcaacb62374d3f54678d9f4b64a4cc9de04 (diff)
downloadriscv-isa-manual-35100d2d08d6e99b73f7e6788a14738ba86e0b63.zip
riscv-isa-manual-35100d2d08d6e99b73f7e6788a14738ba86e0b63.tar.gz
riscv-isa-manual-35100d2d08d6e99b73f7e6788a14738ba86e0b63.tar.bz2
Clarify need for HFENCE.GVMA after hgatp.MODE change
-rw-r--r--src/hypervisor.tex5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/hypervisor.tex b/src/hypervisor.tex
index 93e68fd..04a55f6 100644
--- a/src/hypervisor.tex
+++ b/src/hypervisor.tex
@@ -1845,6 +1845,11 @@ the guest-physical memory management of all virtual machines, or even a global
fence for all memory-management data structures.
\end{commentary}
+If {\tt hgatp}.MODE is changed for a given VMID, an HFENCE.GVMA with
+{\em rs1}={\tt x0} (and {\em rs2} set to either {\tt x0} or the VMID) must
+be executed to order subsequent guest translations with the MODE
+change---even if the old MODE or new MODE is Bare.
+
Attempts to execute HFENCE.VVMA or HFENCE.GVMA when V=1 cause a virtual
instruction trap, while attempts to do the same in U-mode
cause an illegal instruction trap.