Skip to content

Commit

Permalink
AR: Clarify message register uses.
Browse files Browse the repository at this point in the history
aampostincrement implies the implementation does not use simple MRs.
  • Loading branch information
timsifive committed Aug 15, 2023
1 parent 3c75bf3 commit b6cbb1c
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 0 deletions.
4 changes: 4 additions & 0 deletions debug_module.tex
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,10 @@ \section{Message Registers}
allowing for different implementations. They exist to let two sides communicate
when the two sides already know who is the sender and who is the receiver.

Only registers which are explicitly described as MRs are MRs. \RdmDataZero
through \RdmDataEleven are MRs, used to let the debugger pass arguments to
abstract commands, and let the DM pass results from abstract commands back.

An MR implements read and write operations on two sides. When one side reads an
MR, and the last write was by the other side, then the result value of the read
is the value last written by the other side. When one side reads an MR, and the
Expand Down
5 changes: 5 additions & 0 deletions xml/abstract_commands.xml
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,11 @@
{\tt arg1} (which contains the address used) by the number of bytes
encoded in \FacAccessmemoryAamsize.

In order for the DM to increment {\tt arg1} and read back the
incremented value, the relevant {\tt data} registers must be
readable by the DM after modification. They can not be simple
Message Registers.

Supporting this variant is optional, but highly recommended for
performance reasons.
</field>
Expand Down

0 comments on commit b6cbb1c

Please sign in to comment.