Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 670 → Rev 671

/shark/trunk/include/kernel/model.h
21,11 → 21,11
 
/**
------------
CVS : $Id: model.h,v 1.6 2004-05-17 15:03:50 anton Exp $
CVS : $Id: model.h,v 1.7 2004-05-25 10:02:18 giacomo Exp $
 
File: $File$
Revision: $Revision: 1.6 $
Last update: $Date: 2004-05-17 15:03:50 $
Revision: $Revision: 1.7 $
Last update: $Date: 2004-05-25 10:02:18 $
------------
 
This file contains the definitions of the task and resource models.
250,8 → 250,8
#define SOFT_PCLASS 2
#define NRT_PCLASS 3
#define JOB_PCLASS 4
#define ELASTIC_PCLASS 5
 
 
/* -----------------------------------------------------------------------
Useful stuffs
----------------------------------------------------------------------- */
263,8 → 263,10
#define SAVE_ARRIVALS 0
#define SKIP_ARRIVALS 1
 
#define NO_PREDEFINED_SCALING 0
#define WCET_SCALING 1
#define PERIOD_SCALING 2
 
 
/* -----------------------------------------------------------------------
DUMMY_TASK_MODEL: model used only for the dummy task
----------------------------------------------------------------------- */
507,7 → 509,46
#define job_task_def_trace(m) task_def_trace((m).t)
#define job_task_def_notrace(m) task_def_notrace((m).t)
 
/* Elastic Task */
 
typedef struct {
TASK_MODEL t;
TIME Tmin;
TIME Tmax;
TIME wcet;
int kelastic;
int beta;
int arrivals;
} ELASTIC_TASK_MODEL;
#define elastic_task_default_model(m,dl) \
task_default_model((m).t,ELASTIC_PCLASS), \
(m).Tmin = 0, \
(m).Tmax = 0, \
(m).wcet = 0, \
(m).kelastic = 0, \
(m).beta = NO_PREDEFINED_SCALING, \
(m).arrivals = SKIP_ARRIVALS
#define elastic_task_def_level(m,l) task_def_level((m).t,l)
#define elastic_task_def_arg(m,a) task_def_arg((m).t,a)
#define elastic_task_def_stack(m,s) task_def_stack((m).t,s)
#define elastic_task_def_stackaddr(m,s) task_def_stackaddr((m).t,s)
#define elastic_task_def_group(m,g) task_def_group((m).t,g)
#define elastic_task_def_usemath(m) task_def_usemath((m).t)
#define elastic_task_def_system(m) task_def_system((m).t)
#define elastic_task_def_nokill(m) task_def_nokill((m).t)
#define elastic_task_def_ctrl_jet(m) task_def_ctrl_jet((m).t)
#define elastic_task_def_period(m,Tmin,Tmax) (m).Tmin = (Tmin),\
(m).Tmax = (Tmax)
#define elastic_task_def_wcet(m,wcet) (m).wcet = (wcet)
#define elastic_task_def_const(m,kelastic,beta) (m).kelastic = (kelastic), \
(m).beta = (beta)
#define elastic_task_def_save_arrivals(m) (m).arrivals = SAVE_ARRIVALS
#define elastic_task_def_skip_arrivals(m) (m).arrivals = SKIP_ARRIVALS
#define elastic_task_def_joinable(m) task_def_joinable((m).t)
#define elastic_task_def_unjoinable(m) task_def_unjoinable((m).t)
#define elastic_task_def_trace(m) task_def_trace((m).t)
#define elastic_task_def_notrace(m) task_def_notrace((m).t)
 
 
 
517,6 → 558,7
 
 
 
 
/* -----------------------------------------------------------------------
-----------------------------------------------------------------------
-----------------------------------------------------------------------