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.

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_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 marku.nosp@m.s@no.nosp@m.ga.de

Definition in file tm.h.

Macro Definition 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_spcurrent 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

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.

Generated for brickOS Kernel Developer by doxygen 1.8.11