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.
Common operations and types in Tock.
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.
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.
Tock Binary Format Header definitions and parsing code.
In-kernel gpio debugging, accepts any GPIO HIL method
Define register types and fields.
Helper macro for defining register fields.
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.
Wrapper around a function pointer.
Helper struct for interfaces that expect clocks, but have no clock control
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.