Expand description
Types for Tock-compatible processes.
Re-exports§
pub use crate::process_checker::AcceptedCredential;
pub use crate::process_checker::ProcessCheckerMachine;
pub use crate::process_checker::ProcessCheckerMachineClient;
Structs§
- The version of a binary.
- 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. - Collection of process state information related to the memory addresses of different elements of the process.
- A process stored in flash.
- 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.
- Collection of process state related to the size in memory of various process structures.
- A type for userspace processes in Tock.
- A debugging implementation for
ProcessStandard
that records the full debugging state. - This is similar to
FunctionCall
but for the special case of the Null Upcall for a subscribe. Because there is no function pointer in a Null Upcall we can only return these values to userspace. This is used to pass around upcall parameters when there is no associated upcall to actually call or userdata. - A machine for loading processes stored sequentially in a region of flash.
Enums§
- Error types related to processes.
- 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 Identifier.
- States a process can be in.
- Enum used to inform scheduler why a process stopped executing (aka why
do_process()
returned). - States a process could previously have been in when stopped.
- 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.
- Asynchronous process loading.
- Client for asynchronous process loading.
- Trait for creating a custom “process printer” that formats process state in some sort of presentable format.
- Interface supported by
ProcessStandard
for recording debug information. - Generic trait for implementing a policy on how applications should be assigned storage permissions.
Functions§
- 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 because it results in a smaller kernel, as it does not invoke the credential checking state machine.