CHERIoT RTOS
A compartmentalised RTOS for CHERIoT hardware
Loading...
Searching...
No Matches
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
 C__jmp_bufThis is a minimal implementation of setjmp/longjmp
 CAllocatorCapabilityStateThe public view of state represented by a capability that is used to authorise heap allocations
 CSonataPulseWidthModulation::Array< NumberOfPwms >A convenience structure that can map onto multiple PWM outputs
 Canonymous_namespace{debug.hh}::ConditionalDebug< Threshold, Context, EnableAssertions, VerboseInvariants >::Assert< Args >Function-like class for assertions that is expected to be used via the deduction guide as:
 CB
 CBitpackDerived< B >It is occasionally useful to derive one bitpack from another
 CBarrierStateState for a barrier
 CRevocation::BitmapDirect< WordT, TCMBaseAddr >Class for interacting with the shadow bitmap
 CIbex::HardwareRevoker< WordT, TCMBaseAddr >
 CBitpack< StorageParam >The Bitpack structure itself, templated on the underlying Storage type
 CBitpack< uint32_t >
 COpenTitanUart::Control
 COpenTitanUart::FIFOControl
 COpenTitanUart::FIFOStatusUART FIFO Status Register
 COpenTitanUart::Interrupts
 COpenTitanUart::Status
 CKunyanEthernet::BufferedFrameClass encapsulating a frame that has been received
 CCHERI::Capability< T, IsSealedT >Helper class for accessing capability properties on pointers
 CCheckSize< Real, Expected >Helper class for checking the size of a structure
 CCleanupListOn-stack linked list of cleanup handlers
 Canonymous_namespace{debug.hh}::ConditionalDebug< Threshold, Context, EnableAssertions, VerboseInvariants >Conditional debug class
 CConditionVariableCondition variable C++ wrapper
 CConditionVariableStateCondition variable state
 CCountingSemaphoreStateState for a counting semaphore
 Cds::ring_buffer::Cursors< Debug, Capacity, IxTy >A statically-sized, non-atomic ring buffer state machine
 Canonymous_namespace{debug.hh}::DebugContext< N >Helper class wrapping a string for use as a template argument
 CDebugFormatArgument
 CDebugFormatArgumentAdaptor< T >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
 Canonymous_namespace{debug.hh}::DebugLevelTemplateArgumentCompatibility wrapper that can be constructed from a boolean or a DebugLevel
 CDebugWriterAbstract class for writing debug output
 CCHERI::ErrorOr< T, IsSealed >Helper for a value that encodes either a pointer or an error value in a pointer-sized value, discriminated by the tag bit
 CErrorStateState for error handlers to use
 CEventWaiterSourceStructure describing a change to the set of managed event sources for an event waiter
 CBitpack< StorageParam >::Field< TypeParam, InfoParam >A particular Field within a Bitpack
 CBitpack< StorageParam >::FieldInfoInformation about a field within a Bitpack
 CFlagLockGeneric< IsPriorityInherited >A simple flag log, wrapping an atomic word used with the futex calls
 CFlagLockStateState for a flag lock
 Canonymous_namespace{float_to_string_helpers.hh}::FloatPartsA floating-point value decomposed into components for printing
 CKsz8851Ethernet::FrameSimple class representing a received Ethernet frame
 CFunctionWrapper< FnType >Base template for FunctionWrapper, never used
 CFunctionWrapper< R(Args...)>A non-owning type-erased reference to a callable object
 CGPIOThe Arty A7 configuration has two LEDs (LD5 and LD6), four buttons, and four switches, exposed over GPIO
 CGPIO::InputBitsHelper that defines a set of bits in a GPIO input word used for a specific purpose
 CInterruptCapabilityStateStructure for authorising access to a specific interrupt
 CInterrupts
 CBitpackDerived< Interrupts >
 COpenTitanUart::InterruptState
 Canonymous_namespace{debug.hh}::ConditionalDebug< Threshold, Context, EnableAssertions, VerboseInvariants >::Invariant< Args >Function-like class for invariants that is expected to be used via the deduction guide as:
 CCHERI::is_sealed_capability< T >Type trait for checking if a type is a sealed capability
 CKsz8851EthernetThe driver for KSZ8851 SPI Ethernet MAC
 CKunyanEthernetThe driver for Kunyan Liu's custom Ethernet MAC for the Arty A7
 CLockGuard< Lock >A simple RAII type that owns a lock
 CMessageQueueStructure representing a queue
 Cutils::NoCopyNoMoveUtility class to delete copy and move contructors
 CSonataGpioBase< 0x0000 '3FFF >
 CSonataGpioBase< 0x0000 '00FF >
 CSonataGpioBase< 0x0000 '003F >
 CSonataSpi::Generic< 2 >
 CSonataSpi::EthernetMacA specialised driver for the SPI device connected to the Ethernet MAC
 CSonataSpi::Generic< 3 >
 CSonataSpi::LcdA specialised driver for the SPI device connected to the LCD screen
 CNoPlic< MaxIntrID, SourceID, Priority >Type representing no interrupt controller
 COpenTitanI2cDriver for the OpenTitan's I2C block
 COpenTitanUartOpenTitan UART
 COpenTitanUsbdevA driver for OpenTitan USB Device, which is used in the Sonata system
 CSonataAnalogueDigitalConverterA simple driver for Sonata's XADC (Xilinx Analogue to Digital Converter)
 CSonataGpioBase< OutputMask, InputMask, OutputEnableMask, PcIntMask >A simple driver for the Sonata's GPIO
 CSonataPinmux::BlockSinksA driver for the Sonata system's pin multiplexed block inputs
 CSonataPinmux::PinSinksA driver for the Sonata system's pin multiplexed output pins
 CSonataPulseWidthModulation::OutputA driver for Sonata's Pulse-Width Modulation (PWM)
 CSonataRgbLedControllerA driver for the Sonata's RGB LED Controller
 CSonataSpi::Generic< NumChipSelects >A driver for the Sonata's SPI device block
 CStandardClintDriver for using the (old) RISC-V Core-Local Interrupt (CLINT) controller (as opposed to the newer CLIC) to provide timer signals
 CStandardPlic< MaxIntrID, SourceID, Priority >Driver for the standard RISC-V Platform-Local Interrupt Controller (PLIC)
 CNoLockClass that implements the locking concept but does not perform locking
 CBitpack< StorageParam >::Numeric< T >Convenience wrapper for the types of numeric fields
 Cds::linked_list::cell::OffsetPtrAddr< Offset >Encode a linked list cons cell as a pair of addresses (but present an interface in terms of pointers)
 Cds::pointer::proxy::OffsetPtrAddr< Offset, T >Like the above, but with a constant offset on the interpretation of its addresss fields
 COnceStateSynchronisation state for run-once functions
 Cutils::OptionalReference< T >A helper class modelled on std::optional that represents an optional T&
 CCHERI::PermissionSetClass encapsulating a set of permissions
 Cds::linked_list::cell::PointerCons cell using two pointers
 Cds::pointer::proxy::Pointer< T >Pointer references are pointer proxies, shockingly enough
 CBitpack< StorageParam >::Field< TypeParam, InfoParam >::Proxy< DerivedBitpack, RefTypeParam >A proxy for this Field within the Bitpack's Storage
 Cds::linked_list::cell::PtrAddrEncode a linked list cons cell as a pair of addresses (but present an interface in terms of pointers)
 Cds::pointer::proxy::PtrAddr< T >Equipped with a context for bounds, an address reference can be a proxy for a pointer
 COpenTitanUsbdev::ReceiveBufferInfoThe information associated with a received packet
 CRecursiveMutexPriority-inheriting recursive mutex
 CRecursiveMutexStateState for a recursive mutex
 CCHERI::remove_sealed< T >Type trait to remove sealed from a capability type
 CCHERI::remove_sealed< T * >Specialisation to
 CRingBuffer< Message, BufferSize, PushLock, PopLock >A simple single-producer, single-consumer ring buffer that can be made multi-producer and / or multi-consumer by adding locking
 CSealed< T >Helper template for representing a sealed capability created by the allocator's token API
 Cds::linked_list::Sentinel< CellTemplateArg >Convenience wrapper for a sentinel cons cell, encapsulating some common patterns
 CSonataPinmux::Sink< SinkEnum >A handle to a sink configuration register
 CSonataGPIOA Simple Driver for the Sonata's GPIO
 CSonataSpiA Simple Driver for the Sonata's SPI
 Canonymous_namespace{debug.hh}::SourceLocationOur libc++ does not currently provide source_location, but our clang provides the necessary builtins for one
 Canonymous_namespace{debug.hh}::StackUsageCheck< Mode, Expected, Fn >Check the (dynamic) stack usage of a function, including all of its callees
 CStaticSemaphore_tType used to define space for storing any of the exposed FreeRTOS semaphore types
 CSystickReturnAbsolute system tick value since boot, 64-bit, assuming never overflows
 CThreadPoolMessageMessage to a thread pool
 CTicketLockA simple ticket lock
 CTicketLockStateTicket locks use two monotonic counters to store the lock state
 CTimeoutStructure representing a timeout
 CTrivialInsecureEntropySourceA simple entropy source
 CUart16550< RegisterType >Generic 16550A memory-mapped register layout
 CUart16550< uint32_t >
 CSynopsisExtended16550< DefaultBaudRate >The Synopsis extended 16550 UART has two additional registers that are not part of a standard 16550, one of which allows for fractional multipliers
 Cds::xoroshiro::detail::XorOshiro< State, Result, A, B, C, Jump0, Jump1, LongJump0, LongJump1 >The xoroshiro+ (not ++) generator(s) of Blackman and Vigna's Scrambled Linear Pseudorandom Number Generators (https://arxiv.org/abs/1805.01407, Figure 1)