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

CHERI instruction map and differences #20

Open
trevorcarlson opened this issue Jul 18, 2023 · 2 comments
Open

CHERI instruction map and differences #20

trevorcarlson opened this issue Jul 18, 2023 · 2 comments
Assignees
Labels
enhancement New feature or request planned Delayed until future consideration

Comments

@trevorcarlson
Copy link
Collaborator

One idea, to both help with the standardization process, and help those that understand CHERI migrate to Capstone, might be to have a list of mappings from CHERI to Capstone.

In addition, we might consider having a set of instructions listed that are common between CHERI and Capstone, that could form the base of a standard that all capability systems will need. Then, implementation-specific versions can be on top.

@jasonyu1996
Copy link
Member

We can start by adding one section specifically discussing the relationship between Capstone and CHERI. I'll think about the second suggestion of extracting a core for all capability systems. It's tricky as we don't want it to be too broad supporting every conceivable capability system as it would likely end up being useless. So it's actually gonna be opinionated regarding what features are most important for a capability system and therefore worth supporting.

@jasonyu1996 jasonyu1996 self-assigned this Jul 19, 2023
@jasonyu1996 jasonyu1996 added the enhancement New feature or request label Jul 19, 2023
@jasonyu1996
Copy link
Member

@trevorcarlson I have added an appendix talking about this. It can be viewed here https://jason.kisp.ml/specs-revs/by-branch/cheri-cmp/

It's now an instruction mapping table and a feature matrix. I'll think about two things

  • For some of the designs present in CHERI but not in Capstone, how important are they? Can they be supported on Capstone through other means? Can we easily add support for them if necessary?
  • For those instructions in the mapping table, many are the basic capability manipulation instructions which will likely be part of any capability-based system. We can perhaps unify the instruction formats and mnemonics with theirs.

Mingkai-Li added a commit that referenced this issue Jul 25, 2023
#20 An appendix comparing Capstone-RISC-V, CHERI-RISC-V, and CHERIoT …
@Mingkai-Li Mingkai-Li added the planned Delayed until future consideration label Jul 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request planned Delayed until future consideration
Projects
None yet
Development

No branches or pull requests

3 participants