DNM/WIP: CHERI RISC-V f[su]{byte,...} fault lookaside table and As-user opcodes #1159
+579
−24
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.
A slightly different approach than #1155, but hopefully solving the same problem.
This adds two configuration knobs to let us explore faster
f[su]{byte,...}
operations. Unlike #1155, this one avoids two pointer stores perf[su]*
operation to store/remove the fault handler callback by, instead, adding a linker set "lookaside table" for fault handling behaviours. Presently, a closed taxonomy of such things, again. The fault handler has been enlightened to scan this lookaside table; it should support loadable modules but this has not been tested.As usual, commentary more than welcome.