-
Notifications
You must be signed in to change notification settings - Fork 38
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
Propose vendor mnemonic extension for CHERIoT #71
Conversation
CHERIoT (https://cheriot.org/) is a RISC-V-based microcontroller platform that incorporates CHERI technology for capability-based security. It extends RISC-V with several new instructions (found in the ISA reference on cheriot.org). Some of these share names with the Zcheri extension currently under consideration, but do not use the same encodings, and thus should be in a vendor prefix. The CHERIoT LLVM toolchain is maintained in https://github.com/cherIoT-Platform/llvm-project It does not currently use a prefix on its custom instructions, but we would like to change that if we can assign a prefix. Signed-off-by: Owen Anderson <[email protected]>
Is there a plan to upstream these additional custom instructions to LLVM? |
We (SCI Ltd, who is shipping Cheriot HW in 2025 and driving Cheriot development) intend to propose upstreaming Cheriot support to LLVM/Clang this year. We're currently actively trying to catch up our repository to top of tree, and we'd like to start getting our RISC-V extension into compliance with these toolchain conventions to facilitate upstreaming. |
Thanks for the clarification @resistor. |
We should also reorganize the list in alphabetic order. Might be cleaner to do in separate commit from yours, @resistor. |
Also, @resistor, do you have the link to the spec where the additional custom instructions are defined? |
I found some spec at https://cheriot.org/cheriot-sail/cheriot-architecture.pdf as version 0.6 drat, is it in frozen state? |
That is the live draft which is continuously updated from the SAIL model here: https://github.com/CHERIoT-Platform/cheriot-sail |
It appears to already be alphabetical by prefix. I was just following that convention. |
Cheriot (https://cheriot.org/) is a RISC-V-based microcontroller platform that incorporates CHERI technology for capability-based security. It extends RISC-V with several new instructions (found in the ISA reference on cheriot.org). Some of these share names with the Zcheri extension currently under consideration, but do not use the same encodings, and thus should be in a vendor prefix.
The Cheriot LLVM toolchain is maintained in https://github.com/cherIoT-Platform/llvm-project It does not currently use a prefix on its custom instructions, but we would like to change that if we can assign a prefix.