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

Section 5.7/8.5 clarification #313

Open
buxtonpaul opened this issue Jul 5, 2024 · 3 comments
Open

Section 5.7/8.5 clarification #313

buxtonpaul opened this issue Jul 5, 2024 · 3 comments
Labels
documentation Improvements or additions to documentation

Comments

@buxtonpaul
Copy link
Contributor

In section 5.7 Disabling CHERI Registers the description points to Sections 3.3 and 8.5 for instructions that should generate exceptions. Whilst the text does say CHERI instructions, it is quite easy to read it as all instructions in table 8.5 would generate an exception.
Suggest either

  1. Add column to the table in 8.5 to indicate clearly the instructions specified.
  2. Reword the sentence to make it clear that not all the instructions in 8.5 are CHERI instructions. E.g.
    The instructions in Section 3.3 and the CHERI instructions in Section 8.5 cause illegal instruction exceptions.
@andresag01 andresag01 added the documentation Improvements or additions to documentation label Jul 8, 2024
@tariqkurd-repo
Copy link
Collaborator

tariqkurd-repo commented Jul 15, 2024

it's certainly not very clear, it should be the instructions added (not modified) by the addition of Zcheripurecap and Zcherihybrid. I'm not sure such a list exists in the spec, as they often include the modified instructions such as in table 31 (section 8.3).

It should be a simple fix, when I get a chance.

@tomaird
Copy link
Contributor

tomaird commented Jul 24, 2024

Additionally, should the instructions added by Zish4add and Zabhlrsc also generate exceptions? One would assume not since those extensions aren't mentioned, but then again they are added by the same spec so it might be worth a clarification too to make it explicit.

@tariqkurd-repo
Copy link
Collaborator

As it stands, these instructions are not disabled by CRE=0
All instructions which are disabled by CRE=0 have this text on the instruction page:

image

these instructions don't access any CHERI state, so don't need to be disabled.
The outlier is cram which is disabled by CRE even though it accesses CHERI state, but is useless in a non-CHERI system, unlike the others which could be useful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

4 participants