Internal Interface: task management. More...
Go to the source code of this file.
Macros | |
#define | SP_RETURN_OFFSET 10 |
return address offset on stack in words. More... | |
#define | IDLE_STACK_SIZE 128 |
should suffice for IRQ service More... | |
Functions | |
void | tm_init (void) |
init task management More... | |
void | tm_start (void) |
start task management More... | |
void | tm_switcher (void) |
the task switcher IRQ handler More... | |
size_t * | tm_scheduler (size_t *old_sp) |
the process scheduler More... | |
int | tm_idle_task (int, char **) |
the idle task More... | |
Variables | |
tdata_t | td_single |
single process process data More... | |
tdata_t * | ctid |
ptr to current process data More... | |
volatile unsigned int | nb_tasks |
number of tasks More... | |
volatile unsigned int | nb_system_tasks |
volatile unsigned char | tm_timeslice |
task time slice More... | |
Internal Interface: task management.
Definition in file tm.h.
#define SP_RETURN_OFFSET 10 |
int tm_idle_task | ( | int | , |
char ** | |||
) |
the idle task
infinite sleep instruction to conserve power
void tm_init | ( | void | ) |
init task management
the process scheduler
old_sp | current task's current stack pointer |
actual context switches performed by tm_switcher (assembler wrapper)
void tm_start | ( | void | ) |
start task management
called in single tasking mode after task setup
void tm_switcher | ( | void | ) |
the task switcher IRQ handler
located in the assembler process module
|
extern |
ptr to current process data
|
extern |
|
extern |
number of tasks
|
extern |
single process process data
|
extern |
task time slice
Definition at line 72 of file systime.c.
Referenced by systime_init(), and systime_set_timeslice().
brickOS is released under the
Mozilla Public License.
Original code copyright 1998-2005 by the authors. |