Module kernel::process[][src]

Support for creating and running userspace applications.

Re-exports

use callback::AppId;
use common::cells::VolatileCell;
use common::Queue;
use common::RingBuffer;
use core::cell::Cell;
use core::fmt::Write;
use core::ptr::read_volatile;
use core::ptr::write;
use core::ptr::write_volatile;
use core::mem;
use core::ptr;
use core::slice;
use core::str;
use grant;
use common::math;
use platform::mpu;
use returncode::ReturnCode;
use syscall::Syscall;
use tbfheader;

Structs

FunctionCall
Process
ProcessDebug

State for helping with debugging apps.

StoredRegs

Enums

Error
FaultResponse
IPCType
State
Task

Statics

APP_FAULT

This is used in the hardfault handler.

HAVE_WORK
PROCS
SCB_REGISTERS

This is used in the hardfault handler.

SYSCALL_FIRED

This is used in the hardfault handler.

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.

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 load_processes() function and use that instead.

processes_blocked
schedule
switch_to_user