Add resume groups.#506
Conversation
Mostly inspired by e-mail discussion with Subject:"resume groups in addition to halt groups".
Ernie Edgar (ernie-sifive)
left a comment
There was a problem hiding this comment.
I left a couple of comments in the code. Additionally,
- What should happen when a hart receives simultaneous halt and resume because of two different groups? In dmcontrol, the spec says that resumereq is ignored when haltreq is set, so should the halt prevail in this case? I think so...
| The triggers referred to in \FdmDmcsTwoExttrigger might be the same, | ||
| or might be completely separate sets, because it is not generally | ||
| useful to automatically halt some cores when other cores resume | ||
| or vice versa. |
There was a problem hiding this comment.
This could probably be phrased better. I think you are saying that the external triggers available to add to halt groups may or may not be distinct from the external triggers available to add to resume groups. In other words, external trigger 0 for halt groups might not be the same as external trigger 0 for resume groups.
| An implementation may tie any number of upper bits in this field to | ||
| 0. If halt groups aren't implemented, then this entire field | ||
| is 0. | ||
| 0. If groups aren't implemented, then this entire field is 0. |
There was a problem hiding this comment.
Should we specifically state that the number of halt groups need not be equal to the number of resume groups? For example, writing a value of 2 in the "group" field might be legal if "grouptype" is being written to 0 but not if "grouptype" is being written to 1. Maybe the "WARL" is sufficient for the spec but in this case, it's not just this field alone that's WARL - the legal values for this field depend on other fields.
|
I've addressed Ernie Edgar (@ernie-sifive)'s comments above. I didn't explicitly add lines saying what happens if halt/resume happen at the same time, but I stuck with the "process of halting"/"process of resuming" language. Does that work? |
Ernie Edgar (ernie-sifive)
left a comment
There was a problem hiding this comment.
Looks good to me.
This fixes a bug introduced in #506. See e-mail: https://lists.riscv.org/g/tech-debug/topic/99398782#1291
Mostly inspired by e-mail discussion with Subject:"resume groups in
addition to halt groups".