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

DNM/WIP: CHERI RISC-V f[su]{byte,...} fault lookaside table and As-user opcodes #1159

Draft
wants to merge 9 commits into
base: dev
Choose a base branch
from

Conversation

nwf
Copy link
Member

@nwf nwf commented Nov 14, 2021

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 per f[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.

@nwf nwf force-pushed the 202111-cheri-riscv-fsu-as-user-lookaside branch from 0cb42c0 to bac47a1 Compare November 21, 2021 17:28
@nwf
Copy link
Member Author

nwf commented Nov 21, 2021

This version has been corrected to not cause a return from the middle of an inlined function (d'oh!). Similar restructuring will be necessary for #1155, just haven't made time yet.

@nwf nwf force-pushed the 202111-cheri-riscv-fsu-as-user-lookaside branch from bac47a1 to 097f29d Compare June 23, 2022 17:32
nwf-msr added 8 commits June 23, 2022 21:23
Not yet hooked up to anything
This defines the FSU_CHERI_AS_USER configuration knob and adjusts support.S to
use it
This shows off the multiplicative impact of the two FSU optimisations: we don't
need to call out to (and return from) an assember function and can instead
inline a single instruction on the fast path.

Right now this is just for fubyte, but in principle more of the fsu vocabulary
is amenable to this treatment.
@nwf nwf force-pushed the 202111-cheri-riscv-fsu-as-user-lookaside branch from 097f29d to f847e0d Compare June 23, 2022 20:24
@jrtc27 jrtc27 marked this pull request as draft August 16, 2023 22:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants