Skip to content

Commit

Permalink
ARC: Comment on unimplemented CSR behavior.
Browse files Browse the repository at this point in the history
After a very long e-mail discussion, we landed on maintaining
unimplemented CSR behavior as-is. Just add a quick note to be explicit
about that intention. The end of the discussion is basically:
1. If Sdtrig CSRs are accessed when they are not implemented or Sdtrig
   is not implemented, the hart will trap. This is to maintain backwards
   compatibility with existing implementations that use this for
   discovery.
2. If Sdext CSRs are accessed when they are not implemented, the hart
   will trap. (No need to specify behavior when Sdext is not
   implemented, because in that case Debug Mode doesn't exist and the
   CSRs aren't accessible anyway.) This is to be consistent with Sdtrig
   behavior.
  • Loading branch information
timsifive committed Sep 11, 2023
1 parent f82b2d1 commit b972694
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions Sdtrig.tex
Original file line number Diff line number Diff line change
Expand Up @@ -358,4 +358,12 @@ \section{Trigger Registers}
Attempts to access an unimplemented Trigger Register raise an illegal instruction
exception.

\begin{commentary}
Privileged spec v1.12 requires accesses to unimplemented CSRs to raise
illegal instruction exceptions, but that may change in the future. Even if
it does change, the behavior here overrides it for Sdtrig CSRs for backwards
compatibility. This is even true if Sdtrig is not implemented at all, so the
discovery algorithm in Section~\ref{sec:trigger} still works.
\end{commentary}

\input{hwbp_registers.tex}

0 comments on commit b972694

Please sign in to comment.