Expand description
Types for Tock-compatible processes.
Structs
Struct that defines a upcall that can be passed to a process. The upcall
takes four arguments that are
Driver
and upcall specific, so they are
represented generically here.Simply panic the entire board if a process faults.
Collection of process state information related to the memory addresses
of different elements of the process.
Opaque identifier for custom grants allocated dynamically from a process’s
grant region.
Userspace process identifier.
A context token that the caller must pass back to us. This allows us to
track where we are in the print operation.
A Process Printer that displays a process as a human-readable string.
Collection of process state related to the size in memory of various process
structures.
A type for userspace processes in Tock.
Always restart the process if it faults.
Simply stop the process and no longer schedule it if a process faults.
Stop the process and no longer schedule it if a process faults, but also
print a debug message notifying the user that the process faulted and
stopped.
Implementation of
ProcessFaultPolicy
that uses a threshold to decide
whether to restart a process when it faults. If the process has been
restarted more times than the threshold then the process will be stopped
and no longer scheduled.Implementation of
ProcessFaultPolicy
that uses a threshold to decide
whether to restart a process when it faults. If the process has been
restarted more times than the threshold then the board will panic.Enums
The action the kernel should take when a process encounters a fault.
Enumeration to identify whether a function call for a process comes directly
from the kernel or from a upcall subscribed through a
Driver
implementation.Errors that can occur when trying to load and create processes.
A compressed form of an Application Identifer.
States a process can be in.
Tasks that can be enqueued for a process.
Traits
This trait represents a generic process that the Tock scheduler can
schedule.
Generic trait for implementing a policy on what to do when a process faults.
Trait for creating a custom “process printer” that formats process state in
some sort of presentable format.
Functions
Load processes (stored as TBF objects in flash) into runnable
process structures stored in the
procs
array. If the kernel is
configured with an AppCredentialsChecker
, this method scans the
footers in the TBF for cryptographic credentials for binary
integrity, passing them to the checker to decide whether the
process has sufficient credentials to run.Load processes (stored as TBF objects in flash) into runnable
process structures stored in the
procs
array and mark all
successfully loaded processes as runnable. This method does not
check the cryptographic credentials of TBF objects. Platforms
for which code size is tight and do not need to check TBF
credentials can call this method instead of load_and_check_processes
because it results in a smaller kernel, as it does not invoke
the credential checking state machine.