|
CHERIoT RTOS
A compartmentalised RTOS for CHERIoT hardware
|
| sdk | |
| include | |
| ds | |
| bits.h | Bit manipulation utilities |
| linked_list.h | A (circular) doubly linked list, abstracted over cons cell representations |
| pointer.h | Pointer utilities |
| ring_buffer.h | Ring/circular buffer state machine |
| xoroshiro.h | Pseudo random number generator based on Xoroshiro algorithm |
| FreeRTOS-Compat | A (mostly complete) compatibility layer for core FreeRTOS APIs |
| event_groups.h | FreeRTOS event-group compatibility APIs |
| FreeRTOS.h | FreeRTOS porting layer |
| FreeRTOS_errno.h | FreeRTOS-compatible errno values |
| queue.h | FreeRTOS queue compatibility APIs |
| semphr.h | FreeRTOS semaphore compatibility layer |
| stream_buffer.h | FreeRTOS stream compatibility APIs |
| task.h | Minimal FreeRTOS task compatibility APIs |
| microvium | |
| microvium_port.h | Port specific definitions for port of Microvium to CHERIoT RTOS |
| platform | |
| arty-a7 | |
| platform-entropy.hh | |
| platform-ethernet.hh | |
| platform-gpio.hh | |
| concepts | |
| entropy.h | Concept for an Entropy sources and a trivial, insecure implementation using xoroshiro PRNG |
| ethernet.hh | |
| hardware_revoker.hh | |
| uart.hh | |
| generic-riscv | |
| platform-entropy.hh | |
| platform-plic.hh | |
| platform-rdcycle.h | |
| platform-simulation_exit.hh | |
| platform-time.h | ` defines the interface for the timer that is used to implement a monotonic clock |
| platform-timer.hh | |
| platform-uart.hh | |
| ibex | |
| ibex-csr.h | Ibex defines some custom M-mode CSRs to control some of its extensions: |
| platform-hardware_revoker.hh | |
| platform-rdcycle.h | |
| kudu | |
| platform-rdcycle.h | |
| microsoft_cheriot_safe | |
| platform-simulation_exit.hh | |
| sail | |
| platform-rdcycle.h | |
| sunburst | |
| v0.2 | |
| platform-ethernet.hh | |
| platform-gpio.hh | |
| platform-i2c.hh | |
| platform-spi.hh | |
| platform-adc.hh | |
| platform-early_boot.inc | |
| platform-entropy.hh | |
| platform-ethernet.hh | |
| platform-gpio.hh | |
| platform-i2c.hh | |
| platform-pinmux.hh | |
| platform-pwm.hh | |
| platform-rgbctrl.hh | |
| platform-simulation_exit.hh | |
| platform-spi.hh | |
| platform-uart.hh | |
| platform-usbdev.hh | |
| synopsis | |
| platform-uart.hh | |
| priv | |
| riscv.h | |
| revoker | |
| bitmap_direct.hh | |
| __cheri_sealed.h | |
| __compartment-macros.h | Helper macros used by compartment-macros.h |
| __debug.h | |
| __macro_map.h | |
| allocator.h | CHERIoT RTOS heap allocator interface |
| assembly-helpers.h | Helpers for exposing field offsets and structure sizes into assembly |
| assert.h | |
| bitpack.hh | |
| cdefs.h | |
| cheri-builtins.h | |
| cheri.h | C definitions for CHERI specific functionality |
| cheri.hh | C++ helpers for operating on capabilities |
| compartment-macros.h | Macros for interacting with the compartmentalisation model in CHERIoT |
| compartment.h | |
| ctype.h | ASCII-only definition of C standard C functions |
| debug.h | |
| debug.hh | C++ APIs for assertions, invariants, and writing formatted debug messages to a UART |
| errno.h | |
| event.h | Event-group APIs |
| fail-simulator-on-error.h | |
| float.h | |
| float_to_string_helpers.hh | |
| function_wrapper.hh | |
| futex.h | Futex (compare-and-wait) APIs |
| interrupt.h | This file describes the interfaces for compartments to wait for interrupts |
| inttypes.h | |
| limits.h | |
| locks.h | C compatible interface to synchronisation primitives |
| locks.hh | C++ wrappers for synchronisation primitives |
| multiwaiter.h | This file provides interfaces to the multi-waiter system |
| queue.h | This file contains the interface for a simple message queue |
| randombytes.h | API for accessing a shared entropy source in the randombytes compartment |
| ring_buffer.hh | |
| riscvreg.h | |
| setjmp-assembly.h | |
| setjmp.h | |
| simulator.h | |
| stdalign.h | |
| stdarg.h | |
| stdatomic.h | This file implements the C11 and C++23 C atomics interfaces |
| stdbool.h | |
| stddef.h | |
| stdint.h | |
| stdio.h | |
| stdlib.h | |
| stdnoreturn.h | |
| string.h | |
| strings.h | |
| switcher.h | APIs for interacting with the switcher |
| thread.h | Functions and types used for thread management |
| thread_pool.h | APIs for an example thread pool |
| tick_macros.h | |
| time.h | |
| timeout.h | This file contains the types used for timeouts across scheduler APIs |
| timeout.hh | |
| token.h | APIs for dealing with type-safe opaque handles (sealed objects) |
| unwind-assembly.h | |
| unwind.h | APIs for synchronously handling traps |
| utils.hh | Miscellaneous utility functions and classes |