github riscv/riscv-cheri v0.9.9-ar20260707

20260707 Release for ARC review with minor review feedback changes compared to 0.9.8.2

Changes since v0.9.8.2

Architectural changes, in response to ARC / Summit feedback:

  • YSENTRY is now part of the RVY base ISA; the separate Zysentry extension is
    removed. Its encoding changed: the source operand is now rs2, and rs1 must be x0
    (reserved for a future YSEAL instruction taking an authorizing capability in rs1).
  • The Y (CHERI enable) bit in menvcfg/senvcfg moved from bit 28 to bit 8.. The previous 0x1c was a placeholder, move to next available bit for final freeze.
  • misa.Y now resets to 1 and completely disables CHERI when cleared. Clearing
    is only permitted while all implicit-check CSRs (pc, xtvec, xepc, and ddc with
    Zyhybrid) hold root capabilities; otherwise the write is ignored. (Previously
    misa.Y reset to 0 and only gated the per-mode enables.)
  • Renamed the capability encoding format to "RV64LYA" (was
    RV64LYmw14rc1ps), and "sentry" is expanded to "sealed entry point" throughout.

Otherwise:

  • The RV64LYA metadata layout is rearranged so that the AP, SDP and GL fields each have adjacent reserved space for future growth (bit positions of SDP, AP, P and GL changed).
  • This also fixes a bug in the SC.Y description that now correctly states that rd is set to zero on success (instead of 1). This was correct in the attach sail code, but typo'd in the description.
  • The debug specification is now in a separate document. Optional capability-width abstract command support has been added to it.

All other changes are non-functional: grammar and clarification fixes, restructured
bounds-decoding and CSR sections, improved tables/diagrams/cross-references, and
corrections of unclear/misleading documentation.

Full autogenerated PR changelog:

Full Changelog: v0.9.8.2...v0.9.9-ar20260707

Don't miss a new riscv-cheri release

NewReleases is sending notifications on new releases.