Core Tock Kernel
The kernel crate implements the core features of Tock as well as shared code that many chips, capsules, and boards use. It also holds the Hardware Interface Layer (HIL) definitions.
unsafe code is in this kernel crate.
Data structure for storing a callback to userspace or kernelspace.
Special restricted capabilities.
Common operations and types in Tock.
Components extend the functionality of the Tock kernel through a simple factory method interface.
Support for in-kernel debugging.
System call interface for userspace applications.
Data structure to store a list of userspace applications.
Public traits for interfaces between Tock components.
Mechanism for inspecting the status of the kernel.
Inter-process communication mechanism for Tock.
Data structure for passing application memory to the kernel.
Implementation of the MEMOP family of syscalls.
Interface for configuring the Memory Protection Unit.
Interface for chips and boards.
Support for creating and running userspace applications.
Standard return type for invoking operations, returning success or an error code.
Tock core scheduler.
Tock syscall number definitions and arch-agnostic interface trait.
Tock Binary Format Header definitions and parsing code.
Create an object with the given capability.
In-kernel gpio debugging, accepts any GPIO HIL method
Allocates a global array of static size to initialize data structures.
Allocates space in the kernel image for on-chip non-volatile storage. Storage volumes are placed after the kernel code and before relocated variables (those copied into RAM on boot). They are placed in a section called ".storage".
Userspace app identifier.
Base type for an AppSlice that holds the raw pointer to the memory region the app shared with the kernel.
Buffer of memory shared from an app to the kernel.
Type for calling a callback in a process.
Main object for the kernel. Each board will need to create one.
Helper struct for interfaces that expect clocks, but have no clock control
Standard return errors in Tock.
Instance of NoClockControl for things that need references to
Interface for individual MCUs.
Generic operations that clock-like things are expected to support.
Interface for individual boards.
Interface for the system tick timer.