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. | |
#define | IDLE_STACK_SIZE 128 |
should suffice for IRQ service |
Functions | |
void | tm_init (void) |
init task management | |
void | tm_start (void) |
start task management | |
void | tm_switcher (void) |
the task switcher IRQ handler | |
size_t * | tm_scheduler (size_t *old_sp) |
the process scheduler | |
int | tm_idle_task (int, char **) |
the idle task |
Variables | |
tdata_t | td_single |
single process process data | |
tdata_t * | ctid |
ptr to current process data | |
volatile unsigned int | nb_tasks |
number of tasks | |
volatile unsigned int | nb_system_tasks |
volatile unsigned char | tm_timeslice |
task time slice |
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
Referenced by kmain().
the process scheduler
old_sp | current task's current stack pointer |
actual context switches performed by tm_switcher (assembler wrapper)
void tm_start | ( | void | ) |
void tm_switcher | ( | void | ) |
the task switcher IRQ handler
located in the assembler process module
tdata_t* ctid |
ptr to current process data
volatile unsigned int nb_system_tasks |
volatile unsigned int nb_tasks |
number of tasks
tdata_t td_single |
single process process data
volatile unsigned char tm_timeslice |
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. |