Module kernel::process

source ·
Expand description

Types for Tock-compatible processes.


  • pub use crate::process_binary::ProcessBinary;
  • pub use crate::process_checker::ProcessCheckerMachine;
  • pub use crate::process_checker::ProcessCheckerMachineClient;
  • pub use crate::process_loading::load_processes;
  • pub use crate::process_loading::ProcessLoadError;
  • pub use crate::process_loading::SequentialProcessLoaderMachine;
  • pub use crate::process_loading::ProcessLoadingAsync;
  • pub use crate::process_loading::ProcessLoadingAsyncClient;
  • pub use crate::process_policies::PanicFaultPolicy;
  • pub use crate::process_policies::ProcessFaultPolicy;
  • pub use crate::process_policies::RestartFaultPolicy;
  • pub use crate::process_policies::StopFaultPolicy;
  • pub use crate::process_policies::StopWithDebugFaultPolicy;
  • pub use crate::process_policies::ThresholdRestartFaultPolicy;
  • pub use crate::process_policies::ThresholdRestartThenPanicFaultPolicy;
  • pub use crate::process_printer::ProcessPrinter;
  • pub use crate::process_printer::ProcessPrinterContext;
  • pub use crate::process_printer::ProcessPrinterText;
  • pub use crate::process_standard::ProcessStandard;


  • 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.
  • Opaque identifier for custom grants allocated dynamically from a process’s grant region.
  • Userspace process identifier.
  • Collection of process state related to the size in memory of various process structures.


  • 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.
  • 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).
  • Tasks that can be enqueued for a process.


  • This trait represents a generic process that the Tock scheduler can schedule.