Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 1017 → Rev 1024

/shark/trunk/include/kernel/model.h
21,11 → 21,11
 
/**
------------
CVS : $Id: model.h,v 1.15 2004-11-08 18:04:34 trimarchi Exp $
CVS : $Id: model.h,v 1.16 2006-03-09 11:55:10 mauro Exp $
 
File: $File$
Revision: $Revision: 1.15 $
Last update: $Date: 2004-11-08 18:04:34 $
Revision: $Revision: 1.16 $
Last update: $Date: 2006-03-09 11:55:10 $
------------
 
This file contains the definitions of the task and resource models.
251,6 → 251,7
#define NRT_PCLASS 3
#define JOB_PCLASS 4
#define ELASTIC_PCLASS 5
#define INTERRUPT_PCLASS 6
 
/* -----------------------------------------------------------------------
Useful stuffs
258,7 → 259,6
 
#define PERIODIC 0
#define APERIODIC 1
#define INTDRIVE 2
 
#define SAVE_ARRIVALS 0
#define SKIP_ARRIVALS 1
280,6 → 280,27
 
 
/* -----------------------------------------------------------------------
INTERRUPT_TASK_MODEL: model used only for the INTDrive task
----------------------------------------------------------------------- */
 
/*+ The only added field is the wcet used to check ISR overrun +*/
 
typedef struct {
TASK_MODEL t;
TIME wcet;
} INTERRUPT_TASK_MODEL;
 
#define interrupt_task_default_model(m) \
task_default_model((m).t,INTERRUPT_PCLASS), \
(m).wcet = 0
#define interrupt_task_def_level(m,l) task_def_level((m).t,l)
#define interrupt_task_def_arg(m,a) task_def_arg((m).t,a)
#define interrupt_task_def_system(m) task_def_system((m).t)
#define interrupt_task_def_nokill(m) task_def_nokill((m).t)
#define interrupt_task_def_wcet(m,w) (m).wcet = (w)
 
 
/* -----------------------------------------------------------------------
HARD_TASK_MODEL: hard Tasks
----------------------------------------------------------------------- */
 
326,7 → 347,6
#define hard_task_def_offset(m,o) (m).offset = (o)
#define hard_task_def_periodic(m) (m).periodicity = PERIODIC
#define hard_task_def_aperiodic(m) (m).periodicity = APERIODIC
#define hard_task_def_interrupt(m) (m).periodicity = INTDRIVE
#define hard_task_def_joinable(m) task_def_joinable((m).t)
#define hard_task_def_unjoinable(m) task_def_unjoinable((m).t)
#define hard_task_def_trace(m) task_def_trace((m).t)
333,7 → 353,6
#define hard_task_def_notrace(m) task_def_notrace((m).t)
 
 
 
/* -----------------------------------------------------------------------
SOFT_TASK_MODEL: Soft Tasks
----------------------------------------------------------------------- */
388,6 → 407,7
#define soft_task_def_trace(m) task_def_trace((m).t)
#define soft_task_def_notrace(m) task_def_notrace((m).t)
 
 
/* -----------------------------------------------------------------------
NRT_TASK_MODEL: Non Realtime Tasks
----------------------------------------------------------------------- */