aboutsummaryrefslogtreecommitdiff
path: root/src/rv32.tex
diff options
context:
space:
mode:
authorKrste Asanovic <krste@eecs.berkeley.edu>2021-06-06 00:42:45 -0700
committerGitHub <noreply@github.com>2021-06-06 00:42:45 -0700
commit1658fd211de2993f096632a79dd69e86577f6918 (patch)
treec282df58812552a6089f13263384a3b2a6a39d6e /src/rv32.tex
parentc346913dd6cc641e7025a28dab0bac6425faeafa (diff)
downloadriscv-isa-manual-1658fd211de2993f096632a79dd69e86577f6918.zip
riscv-isa-manual-1658fd211de2993f096632a79dd69e86577f6918.tar.gz
riscv-isa-manual-1658fd211de2993f096632a79dd69e86577f6918.tar.bz2
Clarifying FENCE operation behavior for external devices. (#657)
* Clarifying FENCE operation behavior for external devices. * Improved description of FENCE effect on external devices.
Diffstat (limited to 'src/rv32.tex')
-rw-r--r--src/rv32.tex19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/rv32.tex b/src/rv32.tex
index afc6730..99d58f7 100644
--- a/src/rv32.tex
+++ b/src/rv32.tex
@@ -1213,7 +1213,24 @@ hart or external device can observe any operation in the {\em
predecessor} set preceding the FENCE.
Chapter~\ref{ch:memorymodel} provides a precise description of the
RISC-V memory consistency model.
-
+
+The FENCE instruction also orders memory reads and writes made by the
+hart as observed by memory reads and writes made by an external
+device. However, FENCE does not order observations of events made by
+an external device using any other signaling mechanism.
+
+\begin{commentary}
+A device might observe an access to a memory location via some
+external communication mechanism, e.g., a memory-mapped control
+register that drives an interrupt signal to an interrupt controller.
+This communication is outside the scope of the FENCE ordering
+mechanism and hence the FENCE instruction can provide no guarantee on
+when a change in the interrupt signal is visible to the interrupt
+controller. Specific devices might provide additional ordering
+guarantees to reduce software overhead but those are outside the scope
+of the RISC-V memory model.
+\end{commentary}
+
The EEI will define what I/O operations are possible, and in
particular, which memory addresses when accessed by load and store instructions will be treated and
ordered as device input and device output operations respectively