|
CHERIoT RTOS
A compartmentalised RTOS for CHERIoT hardware
|
| Nanonymous_namespace{debug.hh} | |
| CDebugContext | Helper class wrapping a string for use as a template argument |
| CSourceLocation | Our libc++ does not currently provide source_location, but our clang provides the necessary builtins for one |
| CDebugLevelTemplateArgument | Compatibility wrapper that can be constructed from a boolean or a DebugLevel |
| CConditionalDebug | Conditional debug class |
| CInvariant | Function-like class for invariants that is expected to be used via the deduction guide as: |
| CAssert | Function-like class for assertions that is expected to be used via the deduction guide as: |
| CStackUsageCheck | Check the (dynamic) stack usage of a function, including all of its callees |
| Nanonymous_namespace{float_to_string_helpers.hh} | This file provides routines to help convert from floating-point values to strings |
| CFloatParts | A floating-point value decomposed into components for printing |
| NCHERI | |
| CPermissionSet | Class encapsulating a set of permissions |
| Cremove_sealed | Type trait to remove sealed from a capability type |
| Cremove_sealed< T * > | Specialisation to |
| Cis_sealed_capability | Type trait for checking if a type is a sealed capability |
| CCapability | Helper class for accessing capability properties on pointers |
| CErrorOr | Helper for a value that encodes either a pointer or an error value in a pointer-sized value, discriminated by the tag bit |
| Nds | |
| Nlinked_list | |
| Ncell | |
| CPointer | Cons cell using two pointers |
| CPtrAddr | Encode a linked list cons cell as a pair of addresses (but present an interface in terms of pointers) |
| COffsetPtrAddr | Encode a linked list cons cell as a pair of addresses (but present an interface in terms of pointers) |
| CSentinel | Convenience wrapper for a sentinel cons cell, encapsulating some common patterns |
| Npointer | |
| Nproxy | |
| CPointer | Pointer references are pointer proxies, shockingly enough |
| CPtrAddr | Equipped with a context for bounds, an address reference can be a proxy for a pointer |
| COffsetPtrAddr | Like the above, but with a constant offset on the interpretation of its addresss fields |
| Nring_buffer | |
| CCursors | A statically-sized, non-atomic ring buffer state machine |
| Nxoroshiro | |
| Ndetail | |
| CXorOshiro | The xoroshiro+ (not ++) generator(s) of Blackman and Vigna's Scrambled Linear Pseudorandom Number Generators (https://arxiv.org/abs/1805.01407, Figure 1) |
| NIbex | |
| CHardwareRevoker | |
| NRevocation | |
| CBitmapDirect | Class for interacting with the shadow bitmap |
| NSonataPinmux | SPDX-FileCopyrightText: lowRISC contributors SPDX-License-Identifier: Apache-2.0 |
| CSink | A handle to a sink configuration register |
| CPinSinks | A driver for the Sonata system's pin multiplexed output pins |
| CBlockSinks | A driver for the Sonata system's pin multiplexed block inputs |
| NSonataPulseWidthModulation | |
| COutput | A driver for Sonata's Pulse-Width Modulation (PWM) |
| CArray | A convenience structure that can map onto multiple PWM outputs |
| NSonataSpi | |
| CGeneric | A driver for the Sonata's SPI device block |
| CEthernetMac | A specialised driver for the SPI device connected to the Ethernet MAC |
| CLcd | A specialised driver for the SPI device connected to the LCD screen |
| Nutils | |
| CNoCopyNoMove | Utility class to delete copy and move contructors |
| COptionalReference | A helper class modelled on std::optional that represents an optional T& |
| C__jmp_buf | This is a minimal implementation of setjmp/longjmp |
| CAllocatorCapabilityState | The public view of state represented by a capability that is used to authorise heap allocations |
| CBarrierState | State for a barrier |
| CBitpack | The Bitpack structure itself, templated on the underlying Storage type |
| CNumeric | Convenience wrapper for the types of numeric fields |
| CFieldInfo | Information about a field within a Bitpack |
| CField | A particular Field within a Bitpack |
| CProxy | A proxy for this Field within the Bitpack's Storage |
| CBitpackDerived | It is occasionally useful to derive one bitpack from another |
| CCheckSize | Helper class for checking the size of a structure |
| CCleanupList | On-stack linked list of cleanup handlers |
| CConditionVariable | Condition variable C++ wrapper |
| CConditionVariableState | Condition variable state |
| CCountingSemaphoreState | State for a counting semaphore |
| CDebugFormatArgument | |
| CDebugFormatArgumentAdaptor | Adaptor that turns an argument of type T into a DebugFormatArgument |
| CDebugFormatArgumentAdaptor< bool > | Boolean specialisation, prints "true" or "false" |
| CDebugFormatArgumentAdaptor< char > | Character specialisation, prints the character |
| CDebugFormatArgumentAdaptor< CHERI::Capability< T, Sealed > > | Specialisation for the CHERI capability wrapper class, prints the capability in the same format as bare pointers |
| CDebugFormatArgumentAdaptor< CHERI::PermissionSet > | Permission set specialisation |
| CDebugFormatArgumentAdaptor< const char * > | C string specialisation, prints the string as-is |
| CDebugFormatArgumentAdaptor< double > | |
| CDebugFormatArgumentAdaptor< float > | |
| CDebugFormatArgumentAdaptor< int16_t > | Signed 16-bit integer specialisations, print the integer as a decimal number |
| CDebugFormatArgumentAdaptor< int32_t > | Signed 32-bit integer specialisations, print the integer as a decimal number |
| CDebugFormatArgumentAdaptor< int64_t > | Signed 64-bit integer specialisations, print the integer as a decimal number |
| CDebugFormatArgumentAdaptor< int8_t > | Signed 8-bit integer specialisations, print the integer as a decimal number |
| CDebugFormatArgumentAdaptor< std::nullptr_t > | Null pointer specialisation |
| CDebugFormatArgumentAdaptor< std::string > | String view specialisation, use the C string handler |
| CDebugFormatArgumentAdaptor< std::string_view > | String view specialisation, prints the string as-is |
| CDebugFormatArgumentAdaptor< T > | Enum specialisation, prints the enum as a string and then the numeric value |
| CDebugFormatArgumentAdaptor< TimeoutArgument > | Helper for printing timeouts |
| CDebugFormatArgumentAdaptor< uint16_t > | Unsigned 16-bit integer specialisation, prints the integer as a hex number |
| CDebugFormatArgumentAdaptor< uint32_t > | Unsigned 32-bit integer specialisation, prints the integer as a hex number |
| CDebugFormatArgumentAdaptor< uint64_t > | Unsigned 64-bit integer specialisation, prints the integer as a hex number |
| CDebugFormatArgumentAdaptor< uint8_t > | Unsigned character specialisation, prints the character as a hex number |
| CDebugWriter | Abstract class for writing debug output |
| CErrorState | State for error handlers to use |
| CEventWaiterSource | Structure describing a change to the set of managed event sources for an event waiter |
| CFlagLockGeneric | A simple flag log, wrapping an atomic word used with the futex calls |
| CFlagLockState | State for a flag lock |
| CFunctionWrapper | Base template for FunctionWrapper, never used |
| CFunctionWrapper< R(Args...)> | A non-owning type-erased reference to a callable object |
| CGPIO | The Arty A7 configuration has two LEDs (LD5 and LD6), four buttons, and four switches, exposed over GPIO |
| CInputBits | Helper that defines a set of bits in a GPIO input word used for a specific purpose |
| CInterruptCapabilityState | Structure for authorising access to a specific interrupt |
| CKsz8851Ethernet | The driver for KSZ8851 SPI Ethernet MAC |
| CFrame | Simple class representing a received Ethernet frame |
| CKunyanEthernet | The driver for Kunyan Liu's custom Ethernet MAC for the Arty A7 |
| CBufferedFrame | Class encapsulating a frame that has been received |
| CLockGuard | A simple RAII type that owns a lock |
| CMessageQueue | Structure representing a queue |
| CNoLock | Class that implements the locking concept but does not perform locking |
| CNoPlic | Type representing no interrupt controller |
| COnceState | Synchronisation state for run-once functions |
| COpenTitanI2c | Driver for the OpenTitan's I2C block |
| COpenTitanUart | OpenTitan UART |
| CInterrupts | |
| CInterruptState | |
| CControl | |
| CStatus | |
| CFIFOControl | |
| CFIFOStatus | UART FIFO Status Register |
| COpenTitanUsbdev | A driver for OpenTitan USB Device, which is used in the Sonata system |
| CReceiveBufferInfo | The information associated with a received packet |
| CRecursiveMutex | Priority-inheriting recursive mutex |
| CRecursiveMutexState | State for a recursive mutex |
| CRingBuffer | A simple single-producer, single-consumer ring buffer that can be made multi-producer and / or multi-consumer by adding locking |
| CSealed | Helper template for representing a sealed capability created by the allocator's token API |
| CSonataAnalogueDigitalConverter | A simple driver for Sonata's XADC (Xilinx Analogue to Digital Converter) |
| CSonataGPIO | A Simple Driver for the Sonata's GPIO |
| CSonataGpioBase | A simple driver for the Sonata's GPIO |
| CSonataRgbLedController | A driver for the Sonata's RGB LED Controller |
| CSonataSpi | A Simple Driver for the Sonata's SPI |
| CStandardClint | Driver for using the (old) RISC-V Core-Local Interrupt (CLINT) controller (as opposed to the newer CLIC) to provide timer signals |
| CStandardPlic | Driver for the standard RISC-V Platform-Local Interrupt Controller (PLIC) |
| CStaticSemaphore_t | Type used to define space for storing any of the exposed FreeRTOS semaphore types |
| CSynopsisExtended16550 | The Synopsis extended 16550 UART has two additional registers that are not part of a standard 16550, one of which allows for fractional multipliers |
| CSystickReturn | Absolute system tick value since boot, 64-bit, assuming never overflows |
| CThreadPoolMessage | Message to a thread pool |
| CTicketLock | A simple ticket lock |
| CTicketLockState | Ticket locks use two monotonic counters to store the lock state |
| CTimeout | Structure representing a timeout |
| CTrivialInsecureEntropySource | A simple entropy source |
| CUart16550 | Generic 16550A memory-mapped register layout |