Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

include/sys/tm.h File Reference

Internal Interface: task management. More...

#include <config.h>
#include "../tm.h"

Include dependency graph for tm.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#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_ttm_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_tctid
 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...


Detailed Description

Internal Interface: task management.

Author:
Markus L. Noga <markus@noga.de>

Definition in file tm.h.


Define Documentation

#define IDLE_STACK_SIZE   128
 

should suffice for IRQ service.

Definition at line 48 of file tm.h.

#define SP_RETURN_OFFSET   10
 

return address offset on stack in words.

Definition at line 46 of file tm.h.


Function Documentation

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().

size_t* tm_scheduler size_t   old_sp
 

the process scheduler.

Parameters:
old_sp  current task's current stack pointer
Returns:
new 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

Referenced by kmain().

void tm_switcher void   
 

the task switcher IRQ handler.

located in the assembler process module


Variable Documentation

tdata_t* ctid
 

ptr to current process data.

Definition at line 58 of file tm.h.

volatile unsigned int nb_system_tasks
 

Definition at line 64 of file tm.h.

volatile unsigned int nb_tasks
 

number of tasks.

Definition at line 60 of file tm.h.

tdata_t td_single
 

single process process data.

Definition at line 56 of file tm.h.

volatile unsigned char tm_timeslice
 

task time slice.

Definition at line 67 of file tm.h.

Referenced by systime_init(), and systime_set_timeslice().


brickOS is released under the Mozilla Public License.
Original code copyright 1998-2002 by the authors.

Generated on Tue Dec 10 00:09:17 2002 for brickOS Kernel Developer by doxygen 1.2.15