aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2024-01-29 18:25:19 -0800
committerAndrew Waterman <andrew@sifive.com>2024-01-30 15:59:02 -0800
commit4fb0e6a7229792279a32fb62f166e370b21526c4 (patch)
tree3dd6d042168bf7b0699a4f64b313168a5e953151
parent3703643056efecd333a23ca7601e0d57a5395931 (diff)
downloadriscv-isa-manual-4fb0e6a7229792279a32fb62f166e370b21526c4.zip
riscv-isa-manual-4fb0e6a7229792279a32fb62f166e370b21526c4.tar.gz
riscv-isa-manual-4fb0e6a7229792279a32fb62f166e370b21526c4.tar.bz2
Update translation algorithm to reflect Svade
-rw-r--r--src/supervisor.adoc3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/supervisor.adoc b/src/supervisor.adoc
index f79db77..76dab3f 100644
--- a/src/supervisor.adoc
+++ b/src/supervisor.adoc
@@ -1356,7 +1356,8 @@ __a__=__pte__.__ppn__×PAGESIZE and go to step 2.
. A leaf PTE has been found. Determine if the requested memory access is
allowed by the _pte_._r_, _pte_._w_, _pte_._x_, and _pte_._u_ bits, given the current privilege mode and the value of the SUM and MXR fields of the `mstatus` register. If not, stop and raise a page-fault exception corresponding to the original access type.
. If _i>0_ and _pte_._ppn_[__i__-1:0] ≠ 0, this is a misaligned superpage; stop and raise a page-fault exception corresponding to the original access type.
-. If _pte_._a_=0, or if the original memory access is a store and _pte_._d_=0, either raise a page-fault exception corresponding to the original access type, or:
+. If _pte_._a_=0, or if the original memory access is a store and _pte_._d_=0:
+* If the Svade extension is implemented, stop and raise a page-fault exception corresponding to the original access type.
* If a store to _pte_ would violate a PMA or PMP check,
raise an access-fault exception corresponding to the original access
type.