-
Notifications
You must be signed in to change notification settings - Fork 664
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
68ad902
commit 230bb41
Showing
1 changed file
with
9 additions
and
0 deletions.
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
230bb41
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.
Is there intended to be a table here or a point of truth somewhere else documenting what the "informative values" mean and ensuring that they do not conflict? We have at least 2 and 3 being used by unratified specifications.
230bb41
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.
No, there is not an a priori table foreseeing the future of what the "informative values" shall be. This situation is analogous to reserved opcodes, reserved CSR numbers, and all other things with reserved values. And the same issue arises as to how does RISC-V avoid assignment conflicts for any of these things - which is one of the responsibilities of the ISA Committees and the Arch Review Committee to manage (and avoid conflicts).
230bb41
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.
To be clear, I'm asking for a table of informative values that ARC has already allocated, not a table of values that ARC will allocate in the future. At the very least, a table of values that are used by ratified specifications.
230bb41
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.
That makes sense. Since there are no uses yet by any ratified specs, that's yet to come. At which point some discussion (by the ISA committees) will happen (in light of the actual first use cases) about what should be documented where, with what cross references, regarding specific use cases for this cause code.
230bb41
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.
230bb41
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.
There's already general text in the mtval register description allowing implementations to write 0 instead of the specific error for any type of trap unless contradicted by a profile; I think that covers your request.
riscv/riscv-cfi#137 says that value 1 is reserved, but doesn't go into the process beyond that.
230bb41
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.
Here is a thread with some background discussion on this topic. It was originally proposed for the value of 1 to indicate that an internal/RAS error occured. Following discussion in this thread it was agreed that it is not a good idea to mix RAS errors with software check and the value of 1 was dropped but it was suggested to keep it reserved.