Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better description of how etrigger matches. #1085

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

pdonahue-ventana
Copy link
Collaborator

The previous language talked about "When the trigger matches" but it never described matching. It said that it could fire on mcause codes but did that mean a CSR write instruction with a particular mcause value could make it fire? I think that this is better.

Fixes #1084.

causes are configured by writing the corresponding bit in {csr-tdata2}.
(E.g. to trap on an illegal instruction, the debugger sets bit 2 in
{csr-tdata2}.)
This trigger can match when a trap is taken due to an exception.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This feels like a very wish-washy statement.

How about:
This trigger matches when an exception is taken and the bit corresponding to the exception is set in tdata2.

Probably requires rewriting the paragraph below for it all to make sense.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This feels like a very wish-washy statement.

I agree. I didn't like the phrasing but I was trying to match the existing itrigger description which was updated last year. I was trying to limit the scope of this change but maybe we should update itrigger, too.

Comment on lines +1257 to +1261
The trigger may be configured to match on up to XLEN of the Exception
Codes defined in `mcause` (described in the Privileged Spec, with
Interrupt=0). Those causes are configured by writing the corresponding
bit in {csr-tdata2}. (e.g. to have etrigger match on an illegal
instruction trap, the debugger sets bit 2 in {csr-tdata2}.)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This still doesn't say that the trigger matches when an exception is taken, which is what your change description says you wanted to accomplish.

@pdonahue-ventana
Copy link
Collaborator Author

Now that this is ratified, I think that any changes need to be reviewed by Ved. The two of us can continue to polish this. Then I think that we can gather up any pending clarifications over some period of time and send them all in a batch to him.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

etrigger priority
2 participants