CHERIoT Programmers' Guide

David Chisnall

Table of contents

1. Changes from first edition

A chapter (Chapter 7. Watching time elapse) was added to describe time.

The new TimeoutArgument, allowing absolute times to be used instead of Timeout* timeouts was explained.

The Section 5.11. Enforcing sub-object bounds section was added to document how the compiler can enforce bounds on address-taken structure fields.

The Section 6.7. Using permissions on software-defined capabilities section was added to document how user-defined capabilities work and are used. These are used in the core RTOS by the heap allocator. That use is now documented in Section 9.4. Allocating with an explicit capability, which includes an example of passing an allocation capability across a compartment boundary.