Crate kernel[−][src]
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.
Re-exports
extern crate core; |
extern crate compiler_builtins; |
extern crate tock_cells; |
extern crate tock_regs; |
use core::prelude::v1::*; |
Modules
callback |
Data structure for storing a callback to userspace or kernelspace. |
common |
Common operations and types in Tock. |
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. |
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 | |
returncode |
Standard return type for invoking operations, returning success or an error code. |
sched |
Tock core scheduler. |
syscall |
Tock syscall number definitions. |
tbfheader |
Tock Binary Format Header definitions and parsing code. |
Macros
debug |
In-kernel |
debug_gpio |
In-kernel gpio debugging, accepts any GPIO HIL method |
debug_verbose |
In-kernel |
register_bitfields |
Define register types and fields. |
register_bitmasks |
Helper macro for defining register fields. |
static_init |
Allocates a global array of static size to initialize data structures. |
storage_volume |
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". |
Structs
AppId |
Userspace app identifier. |
AppPtr | |
AppSlice | |
Callback |
Wrapper around a function pointer. |
Grant | |
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 | |
Shared |
Enums
ReturnCode |
Statics
APP_FAULT |
This is used in the hardfault handler. |
NO_CLOCK_CONTROL |
Instance of NoClockControl for things that need references to |
SYSCALL_FIRED |
This is used in the hardfault handler. |
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. |