[−][src]Crate kernel
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.
Most unsafe
code is in this kernel crate.
Modules
callback | Data structure for storing a callback to userspace or kernelspace. |
capabilities | Special restricted capabilities. |
common | Common operations and types in Tock. |
component | Components extend the functionality of the Tock kernel through a simple factory method interface. |
debug | Support for in-kernel debugging. |
driver | System call interface for userspace applications. |
grant | Data structure to store a list of userspace applications. |
hil | Public traits for interfaces between Tock components. |
introspection | Mechanism for inspecting the status of the kernel. |
ipc | Inter-process communication mechanism for Tock. |
mem | Data structure for passing application memory to the kernel. |
memop | Implementation of the MEMOP family of syscalls. |
mpu | Interface for configuring the Memory Protection Unit. |
platform | Interface for chips and boards. |
process | Support for creating and running userspace applications. |
procs | Publicly available process-related objects. |
returncode | Standard return type for invoking operations, returning success or an error code. |
sched | Tock core scheduler. |
syscall | Tock syscall number definitions and arch-agnostic interface trait. |
tbfheader | Tock Binary Format Header definitions and parsing code. |
Macros
create_capability | Create an object with the given capability. |
debug | In-kernel |
debug_gpio | In-kernel gpio debugging, accepts any GPIO HIL method |
debug_verbose | In-kernel |
static_init | Allocates a global array of static size to initialize data structures. |
static_init_half | Same as |
storage_volume | Allocates space in the kernel image for on-chip non-volatile storage. |
Structs
AppId | Userspace app identifier. |
AppPtr | Base type for an AppSlice that holds the raw pointer to the memory region the app shared with the kernel. |
AppSlice | Buffer of memory shared from an app to the kernel. |
Callback | Type for calling a callback in a process. |
Grant | Region of process memory reserved for the kernel. |
Kernel | Main object for the kernel. Each board will need to create one. |
NoClockControl | Helper struct for interfaces that expect clocks, but have no clock control. |
Private | Type for specifying an AppSlice is hidden from the kernel. |
Shared | Type for specifying an AppSlice is shared with the kernel. |
Enums
ReturnCode | Standard return errors in Tock. |
Statics
NO_CLOCK_CONTROL | Instance of NoClockControl for things that need references to
|
Traits
Chip | Interface for individual MCUs. |
ClockInterface | Generic operations that clock-like things are expected to support. |
Driver |
|
Platform | Interface for individual boards. |
SysTick | Interface for the system tick timer. |