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
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. |
1.8.9.1