Skip to content

[cheriot,rtl] Add shadow copies for the capability CSRs #2478

Description

@andreaskurth

The integer CSRs that need fault-injection protection use ibex_csr with a shadow copy. The CHERIoT capability CSRs added in #2475 (mtvec_cap, mepc_cap, mtdc_cap, mscratchc_cap, depc_cap, dscratch0/1_cap in ibex_cs_registers.sv) are plain flops without one, so MTCC does not get the protection that MTVEC has.

In a SecureIbex configuration these registers are duplicated in the shadow core, so a fault should surface in the lockstep comparison before it can leave the core. The gap matters for configurations without lockstep, and for consistency with the integer CSRs.

Scope:

  • MTCC at minimum, since MTVEC is shadowed
  • decide whether the root capabilities (MTDC, MScratchC) warrant it too
  • best done together with reworking these registers to use ibex_csr

Agreed with @nasahlpa in review: #2475 (comment)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions