v0.9.8
Notable changes in the RISC-V CHERI specification since v0.9.7.1
These changes were made based on ARC review feedback on the previous version:
- New Opcode Allocation:
- Relocated instruction encodings from the standard RISC-V opcode space to formerly Custom space. Custom1-3 become reserved for RVY when the base ISA is RVY, all new instructions are in what is Custom-3 for RVI.
- Change the immediate format of YBNDSWI
- Added scripts to generate Sail, QEMU, and riscv-opcodes clauses, and new appendices for encoding overviews and standalone documentation references.
- Clarified Hybrid Mode:
- Hybrid Mode Rewrite: Substantially cleaned up the hybrid mode definition and now use the name P-bit (instead the M-bit) for controlling pointer modes
- Zyhybrid is now defined as an extension on top of the RVY base ISA rather than RVI, maintaining identical functionality while aligning with the new encoding structure (cannot be based on RVI otherwise RVY opcode space would be custom).
- Added a new appendix detailing intended hybrid usage models.
- Zylevels1 (Local/Global) Rewrite: Substantially refactored the Zylevels1 chapter to simplify it and add usage examples.
- Further ARC Review Updates:
- Integration of the YBLD and YTOPR instructions into the base ISA to avoid single-instruction extensions.
- Fixed name of YLT (it's an inclusive subset not a less than) to use YSS (for subset)
- Many other smaller improvements based on ARC feedback (full list of changes below).
Spec changes
- Specify remapping of custom space by Tariq Kurd (@tariqkurd-repo) in #1019
- ARC review updates and includes renaming hybrid modes and M-bit->P-bit by Tariq Kurd (@tariqkurd-repo) in #1006
- Move YBLD into the base by Tariq Kurd (@tariqkurd-repo) in #1005
- Fix description and rename YLT to YSS and SYEQ to YEQ by Tariq Kurd (@tariqkurd-repo) in #1001
- put YTOPR into the base by Tariq Kurd (@tariqkurd-repo) in #998
- simplify JALR/Sentry text for RV64 by Tariq Kurd (@tariqkurd-repo) in #994
- Update for new instruction encodings in Custom-3 by Alexander Richardson (@arichardson) in #1002
Documentation updates
- Fix YTOPR description by Tariq Kurd (@tariqkurd-repo) in #997
- Postpone Zylevels1 by Tariq Kurd (@tariqkurd-repo) in #995
- fix typo by Tariq Kurd (@tariqkurd-repo) in #1004
- Reword to clarify that load LM permission clearing is based on written back tag by PeterRugg in #1009
- fix ARC comments on unpriv ISA section by Tariq Kurd (@tariqkurd-repo) in #1010
- Subset of PR 1006 - ARC review comments by Tariq Kurd (@tariqkurd-repo) in #1011
- Use set to 0 instead of cleared consistently by Alexander Richardson (@arichardson) in #1015
- Drop redundant sentence by Alexander Richardson (@arichardson) in #1017
- Move Zca table by Alexander Richardson (@arichardson) in #1016
- Avoid mixing ABI names and numbers by Alexander Richardson (@arichardson) in #1014
- Refactor the Zylevels1 chapter by Alexander Richardson (@arichardson) in #1018
- Add an appendix describing Zyhybrid usage models by Alexander Richardson (@arichardson) in #1013
- Reinstate Zylevels1 in the non-full build by Alexander Richardson (@arichardson) in #1020
- A few minor clarifications by Alexander Richardson (@arichardson) in #1022
- Use pointers instead of addresses in the CSR classes by Alexander Richardson (@arichardson) in #1021
- RV64->RV64Y, RV32->RV32Y by Tariq Kurd (@tariqkurd-repo) in #1024
- FIX: Avoid accidental HTML <em> tags in PlantUML diagrams. by Dave McEwan (@DaveMcEwan) in #1023
- Add simple text clarifying utid by PeterRugg in #1025
- Update HTML links in the README by Alexander Richardson (@arichardson) in #1026
- Minor formatting fix for YBNDSWI by Alexander Richardson (@arichardson) in #1027
- Omit redundant changelog section from default build by Alexander Richardson (@arichardson) in #1028
- Fix a few minor typos by Alexander Richardson (@arichardson) in #1029
System updates
- Bump actions/upload-pages-artifact from 4 to 5 by Dependabot (@dependabot)[bot] in #990
- Bump actions/github-script from 8 to 9 by Dependabot (@dependabot)[bot] in #988
- Bump softprops/action-gh-release from 2 to 3 by Dependabot (@dependabot)[bot] in #989
- Bump docs-resources from
0904c8ato47257deby Dependabot (@dependabot)[bot] in #1008
New Contributors
- Dave McEwan (@DaveMcEwan) made their first contribution in #1023
Full Changelog: v0.9.7.2...v0.9.8