aboutsummaryrefslogtreecommitdiff
path: root/src/machine.tex
diff options
context:
space:
mode:
Diffstat (limited to 'src/machine.tex')
-rw-r--r--src/machine.tex8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/machine.tex b/src/machine.tex
index 3472d44..043d584 100644
--- a/src/machine.tex
+++ b/src/machine.tex
@@ -1555,6 +1555,14 @@ Only the software-writable SEIP bit participates in the
read-modify-write sequence of a CSRRS or CSRRC instruction.
\begin{commentary}
+ For example, if we name the software-writable SEIP bit {\tt B} and the
+ signal from the external interrupt controller {\tt E}, then if \mbox{\tt csrrs
+ t0, mip, t1} is executed, {\tt t0[9]} is written with \mbox{\tt B || E}, then
+ {\tt B} is written with \mbox{\tt B || t1[9]}.
+ If \mbox{\tt csrrw t0, mip, t1} is executed, then {\tt t0[9]} is written with
+ \mbox{\tt B || E}, and {\tt B} is simply written with {\tt t1[9]}.
+ In neither case does {\tt B} depend upon {\tt E}.
+
The SEIP field behavior is designed to allow a higher privilege
layer to mimic external interrupts cleanly, without losing any real
external interrupts. The behavior of the CSR instructions is