-
Notifications
You must be signed in to change notification settings - Fork 7
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
CHERI privilege level enable #70
Comments
With what exception? Illegal instruction? |
Based on the table in #66 I'd like all PCC faults to be instruction access faults which are detected pre-translation, including this case. |
Having Without The first three makes sense to me:
but this one is problematic and has no obvious value:
So my proposal is that the following cases detag the next PCC so there's a tag fault: . which I believe covers all the cases of entering that mode. Additonally we wouldn't know what to expand |
I'm a fan of making capmode illegal when |
As discussed before, it would be good to add an option in a CSR to enable/disable CHERI instructions for M-mode. If disabled, CHERI is effectively disable in the entire machine. |
A bit in
Xenvcfg
has recently been allocated in the CHERI spec to enable/disable CHERI at different privilege levels. Looking at #69 I think that it is correct not to add a bit intoXsmstateen
following the model of the F and V extensions which add register file state, CSRs and instructions.I agree that this is necessary for running (e.g.) user code which is not CHERI aware, so that it doesn't have any access to CHERI state or instructions.
pcc/ddc
checks remain active, and the trap handlers always use the full capability values inXtcc/Xepcc
.I'm having a problem understanding this:
Capability mode is always honored if enabled in PCC
I don't understand how you can be in capability mode and have CHERI disabled, and it's really not clear to me what this means for the operation of the machine.
To my mind, the combination of
Xenvcfg.cheri_enable=0
for the current privilege level andpcc.flag=1
should be a PCC fault because you are in an illegal context, and should immediately except. Just like if thepcc
has become untagged.Therefore I would prefer a statement along the lines of it is illegal to be in capability mode when CHERI is disabled in
Xenvcfg
for the current privilege levelThe text was updated successfully, but these errors were encountered: