aboutsummaryrefslogtreecommitdiff
path: root/src/rv32.tex
diff options
context:
space:
mode:
authorStef O'Rear <sorear2@gmail.com>2020-07-22 07:40:54 -0400
committerGitHub <noreply@github.com>2020-07-22 04:40:54 -0700
commita7b31e6eed2cd9fa06d2da5d0c4575cd3e3cc4c4 (patch)
tree0b0ab4a8ee560eadccb683de3d0cde5a2ed4a950 /src/rv32.tex
parent5736b2d3be39b9ae71f5801e1143d87628929c4d (diff)
downloadriscv-isa-manual-a7b31e6eed2cd9fa06d2da5d0c4575cd3e3cc4c4.zip
riscv-isa-manual-a7b31e6eed2cd9fa06d2da5d0c4575cd3e3cc4c4.tar.gz
riscv-isa-manual-a7b31e6eed2cd9fa06d2da5d0c4575cd3e3cc4c4.tar.bz2
Pmp wording fix (#545)
* Consistently use "access-fault exception" for PMPs Except for discussions of the xcause code itself which are "access fault". * Clarify behavior of locked TOR PMPs
Diffstat (limited to 'src/rv32.tex')
-rw-r--r--src/rv32.tex23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/rv32.tex b/src/rv32.tex
index dc5e36d..bb7348b 100644
--- a/src/rv32.tex
+++ b/src/rv32.tex
@@ -696,9 +696,9 @@ unconditional jumps and conditional branches. Control transfer
instructions in RV32I do {\em not} have architecturally visible delay
slots.
-If an instruction access exception or instruction page fault occurs on the
-target of a jump or taken branch, the exception is reported on the target
-instruction, not on the jump or branch instruction.
+If an instruction access-fault or instruction page-fault exception occurs
+on the target of a jump or taken branch, the exception is reported on the
+target instruction, not on the jump or branch instruction.
\subsubsection*{Unconditional Jumps}
@@ -1106,14 +1106,15 @@ invisibly. In this case, loads and stores that are not naturally
aligned may either complete execution successfully or raise an
exception. The exception raised can be either an address-misaligned
exception or an access-fault exception. For a memory access that would
-otherwise be able to complete except for the misalignment, an access
-exception can be raised instead of an address-misaligned exception if
-the misaligned access should not be emulated, e.g., if accesses to the
-memory region have side effects. When an EEI does not guarantee
-misaligned loads and stores are handled invisibly, the EEI must define
-if exceptions caused by address misalignment result in a contained
-trap (allowing software running inside the execution environment to
-handle the trap) or a fatal trap (terminating execution).
+otherwise be able to complete except for the misalignment, an
+access-fault exception can be raised instead of an address-misaligned
+exception if the misaligned access should not be emulated, e.g., if
+accesses to the memory region have side effects. When an EEI does not
+guarantee misaligned loads and stores are handled invisibly, the EEI
+must define if exceptions caused by address misalignment result in a
+contained trap (allowing software running inside the execution
+environment to handle the trap) or a fatal trap (terminating
+execution).
\begin{commentary}
Misaligned accesses are occasionally required when porting legacy