generated from riscv/docs-spec-template
-
Notifications
You must be signed in to change notification settings - Fork 2
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
- Update the trace description by removing the interface signal details #53
Merged
Merged
Changes from 1 commit
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
f6e9b4b
- Update the trace description by removing the interface signal details
AoteJin 8ce33df
- Update the trace and debug control by removing interface description
AoteJin 6882057
- Remove unnecessary denotation i for hart
AoteJin f713b3c
- update wording
AoteJin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mtrcen is another signal. I thought the intent was to remove references to signals and focus on the behavioural requirements (hence removing references to sec_check). How is mtrcen supposed to be controlled? This is what should be described in my view.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The spec defines the
mtrcen
to indicate that the M-mode trace capability is granted by higher-privileged entity than M-mode SW (e.g. a fuse or BROM to toggle the signal and lock it). To avoid ambiguity, we explicitly name the signal. I will add a note to describe how it is controlled, as you suggested.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a good point by Iain. Is there a requirement that the hart implements this mtrcen signal interface, or does there just need to be a way to disable tracing in M-mode? When I look at the RV debug spec, it never specifies a haltreq signal from the DM to the hart, it could instead be transported by a bus request, or something else. Those are implementation details. In this case, mtrcen could be established via a handshake between the hart and the RoT, rather than via a wire routed to each hart, right? Obviously all of this would apply to mdbgen too.
Also, there's a typo:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct, the intention here is not to define an interface, but rather to explicitly highlight that the debug/trace capability of M-mode is provided by the RoT. I agree that this could potentially be broadcasted via a protocol, depending on the implementation. The key point is to convey this idea in a straightforward manner, similar to how MEIP/SEIP interrupts are described. By using terms like "signal" or "port," the reader can easily visualize the concept.
What do you think about adding a non-normative description to explain how this is controlled and how it might be implemented differently up to the HW choice?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would suggest replacing line 99 with something like:
The same could be done for mdbgen. This allows using these m*en names to simplify references to the enables, without appearing to dictate the implementation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the suggestion. I updated it accordingly in latest commit below.