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,8 → 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 → 557,8 |
|
|
|
|
|
/* ----------------------------------------------------------------------- |
----------------------------------------------------------------------- |
----------------------------------------------------------------------- |