Technology

Specifications

CHERI specifications define capability behaviour for named architectures and revisions; compatibility claims should always identify the document actually implemented.

For
Developers, architects and assurance professionals
Last reviewed
2026-08-05
Review cycle
Review every 6 months

Why it matters

Correct implementation and portable software depend on using the right normative layer for each question.

In brief

CHERI specifications define architecture behaviour for named targets and revisions. Related programming guides, ABIs and platform documents define how compilers, operating systems and software use those capabilities.

Begin with the implementation in front of you and work backwards to its named specification and revision. Do not combine Morello, CHERI-RISC-V and CHERIoT rules as if they were one interchangeable document set, especially when ABI or toolchain behaviour matters.

Key considerations

1. Architecture

Use the exact ISA or architecture document implemented by the processor or model.

2. Language and ABI

Use the matching C/C++ rules, calling convention and data-layout documentation.

3. System

Use platform and SoC guidance for tags, memory, DMA, privilege, boot and integration behaviour.

Evidence and caveats

Specifications can be research, draft, stable or ratified, and implementations may lag. Record status, version, extensions and errata.

Use the exact architecture and software specification implemented by the target. Separate architectural guarantees from system-level outcomes.

Primary routes

Where next

Build a specification hierarchy for one target and link each implementation or test claim to its governing document.

Open the specification catalogue