Module kernel::process
[−]
[src]
Support for creating and running userspace applications.
Reexports
use callback::AppId; |
use common::RingBuffer; |
use common::Queue; |
use common::VolatileCell; |
use grant; |
use core::mem; |
use core::ptr; |
use core::slice; |
use core::str; |
use core::cell::Cell; |
use core::fmt::Write; |
use core::ptr::read_volatile; |
use core::ptr::write_volatile; |
use core::ptr::write; |
use platform::mpu; |
use returncode::ReturnCode; |
use syscall::Syscall; |
use common::math; |
Structs
FunctionCall | |
LoadResult | |
PicOption1Fields |
PIC fields for kernel provided PIC fixup. |
Process | |
ProcessDebug |
State for helping with debugging apps. |
StoredRegs | |
TbfHeaderTlv |
The TLV header (T and L). |
TbfHeaderV1 |
Legacy Tock Binary Format header. |
TbfHeaderV2 |
Single header that can contain all parts of a v2 header. |
TbfHeaderV2Base |
TBF fields that must be present in all v2 headers. |
TbfHeaderV2Main |
The v2 main section for apps. |
TbfHeaderV2WriteableFlashRegion |
Writeable flash regions only need an offset and size. |
Enums
Error | |
FaultResponse | |
IPCType | |
State | |
Task | |
TbfHeader |
Type that represents the fields of the Tock Binary Format header. |
TbfHeaderTypes |
Types in TLV structures for each optional block of the header. |
Statics
APP_FAULT | |
HAVE_WORK | |
PROCS | |
SCB_REGISTERS | |
SYSCALL_FIRED |
Functions
get_editable_flash_range |
Returns the full address of the start and end of the flash region that the app owns and can write to. This includes the app's code and data and any padding at the end of the app. It does not include the TBF header, or any space that the kernel is using for any potential bookkeeping. |
ipsr_isr_number_to_str | |
load⚠ |
Loads the process into memory |
load_processes⚠ |
Helper function to load processes from flash into an array of active
processes. This is the default template for loading processes, but a board
is able to create its own |
parse_and_validate_tbf_header⚠ |
Converts a pointer to memory to a TbfHeader struct |
processes_blocked | |
schedule | |
switch_to_user⚠ |