Skip to content

Conversation

@pmundkur
Copy link
Collaborator

This adds a ShadowStack variant to the memory access type to implement the PTE checks for the shadow stack page. The PMA check needs more PMA plumbing to be completed, but is straightforward once that is in place.

The type now encodes the type of AMO operation for AMO accesses,
and explicitly encodes a CacheAccess variant.  This enables more
accurate PMA and PMP checks for atomic and cache accesses, and
simpler handling of cache accesses when checking permissions
during address translation.

The abstract `ext_access_type` hook for out-of-tree extensions
like CHERI is now an explicit `mem_payload` enum. This enum can
be extended for CHERI capability and Zicfiss shadow stack payloads.
@pmundkur
Copy link
Collaborator Author

This depends on #1405, so leaving this as a draft until that is merged. It updates #377 by @ved-rivos.

This adds a `ShadowStack` variant to the memory access type
to implement the PTE checks for the shadow stack page.

Co-authored-by: Ved Shanbhogue <[email protected]>
@github-actions
Copy link

Test Results

2 115 tests  ±0   2 115 ✅ ±0   21m 10s ⏱️ +8s
    1 suites ±0       0 💤 ±0 
    1 files   ±0       0 ❌ ±0 

Results for commit f4ebfd1. ± Comparison against base commit 659f518.

@jordancarlin jordancarlin added the extension Adds support for a RISC-V extension label Jan 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

extension Adds support for a RISC-V extension

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants