Software Ecosystem

The software surrounding CHERI connects capability-aware compilers with operating systems, runtimes, debuggers, emulators, and existing application code.

From source code to capabilities

Compiler and language work determines how source-level pointers, native interfaces, bounds, permissions, and calling conventions reach a CHERI target.

Complete software environments

Operating-system support preserves capability state through processes, virtual memory, system calls, executable loading, drivers, faults, and user space.

Making capability state visible

Capability-aware diagnostics and public project information show how individual software environments represent, preserve, and report CHERI state.

Where next

LLVM & Clang

LLVM and Clang provide the compiler foundation used by much of the CHERI software ecosystem.

Continue