Skip to content

Commit

Permalink
should -> must
Browse files Browse the repository at this point in the history
This is what I want the spec to say. But it's not backwards compatible.
Can we get away with this?
  • Loading branch information
rtwfroody committed Jul 15, 2024
1 parent 2637350 commit d84c6a8
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions debug_module.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -369,11 +369,11 @@ of {dm-data0}) or hart (e.g. contents of a register modified by a Program Buffe
Before starting an abstract command, a debugger must ensure that {dmcontrol-haltreq}, {dmcontrol-resumereq}, and {dmcontrol-ackhavereset} are all 0.

While an abstract command is executing ({abstractcs-busy} in {dm-abstractcs} is high), a debugger must not change {hartsel}, and must not write 1 to {dmcontrol-haltreq}, {dmcontrol-resumereq}, {dmcontrol-ackhavereset}, {dmcontrol-setresethaltreq}, or {dmcontrol-clrresethaltreq}.
The exception to this rule is when the debugger writes 0 to
{dmcontrol-dmactive}. In that case {hartsel} may be written with a new value
(which the hardware should ignore).
The hardware should not rely on this debugger behavior, but should enforce it by
ignoring writes to these bits while {abstractcs-busy} is high.
The exception to this rule is when the debugger writes 0 to
{dmcontrol-dmactive}. In that case the hardware must be unaffected by the new
value of {hartsel}.

If an abstract command does not complete in the expected time and
appears to be hung, the debugger can try to reset the hart (using {dmcontrol-hartreset} or {dmcontrol-ndmreset}).
Expand Down

0 comments on commit d84c6a8

Please sign in to comment.