lowRISC / lowRISC/mocha

Top level DV - Chip-level CHERI capability-enforcement tests

Open
#676 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
SystemVerilog
Stars
38
Forks
21
Avg merge
2d 23h
Merged PRs (30d)
14

Description

Chip-level tests that CHERI capability violations raise the correct exceptions through the CVA6-CHERI pipeline. CHERI firmware only. Both V2, placeholders registered.

Testpoints:

  • chip_cheri_exception (cheri_exception_test_cheri): a tag violation (dereference a capability whose tag was cleared) and a bounds violation (load one byte past the upper bound) each raise a CHERI fault; the handler confirms mcause encodes a CHERI exception and the offending capability register is identified in the CHERI fault-info CSR.
  • chip_cheri_pcc_bounds (cheri_pcc_bounds_test_cheri): construct a PCC-derived code capability with tight bounds, seal it as a sentry, jump into it, and confirm that executing one instruction past the capability's upper bound raises a CHERI PCC-bounds exception.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the CHERI firmware testpoints chip_cheri_exception (cheri_exception_test_cheri) and chip_cheri_pcc_bounds (cheri_pcc_bounds_test_cheri). Run or inspect the existing top-level DV registration for these placeholders, then implement checks for the stated tag, bounds, and PCC-bounds faults. Done means both tests are registered and confirm the specified mcause, fault-info CSR, and exception behavior through the CVA6-CHERI pipeline.

Written by the indexing model from the issue text.

Assessment

Domain
embedded-iot, security, testing-qa
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.