3,6 → 3,7 |
extern int cal_cycles; |
extern struct timespec zero_time; |
extern struct loader_task *loader_task_list; |
extern int total_loader_task; |
|
/* Delay Calibration */ |
int calibrate_cycle() |
31,6 → 32,7 |
nrt_task_default_model(nrt); |
nrt_task_def_save_arrivals(nrt); |
nrt_task_def_ctrl_jet(nrt); |
nrt_task_def_group(nrt,current->group); |
nrt_task_def_usemath(nrt); |
|
return &nrt; |
44,6 → 46,7 |
hard_task_def_ctrl_jet(ht); |
hard_task_def_mit(ht,TIMESPEC2USEC(¤t->deadline)); |
hard_task_def_wcet(ht,TIMESPEC2USEC(¤t->wcet)); |
hard_task_def_group(ht,current->group); |
hard_task_def_usemath(ht); |
return &ht; |
} |
56,6 → 59,7 |
hard_task_def_mit(ht,TIMESPEC2USEC(¤t->deadline)); |
hard_task_def_wcet(ht,TIMESPEC2USEC(¤t->wcet)); |
hard_task_def_ctrl_jet(ht); |
hard_task_def_group(ht,current->group); |
hard_task_def_usemath(ht); |
return &ht; |
} |
79,18 → 83,17 |
|
void start_simulation() { |
|
int i, total_task; |
int i; |
struct loader_task *l; |
struct timespec end_time; |
|
total_task = sizeof(loader_task_list)/sizeof(struct loader_task); |
i = 0; |
|
while (i<total_task) { |
if (l->act_number>0) { |
while (i < total_loader_task) { |
if (l->act_number > 0) { |
ADDTIMESPEC(&zero_time, &l->act[0], &end_time); |
l->act_current++; |
kern_event_post(&end_time,loader_task_activate,&l); |
kern_event_post(&end_time,(void *)((void *)(loader_task_activate)),&l); |
i++; |
l=&loader_task_list[i]; |
} |
112,7 → 115,7 |
ADDTIMESPEC(&actual_time, &l->act[l->act_current], &end_time); |
|
l->act_current++; |
kern_event_post(&end_time,loader_task_activate,&l); |
kern_event_post(&end_time,(void *)((void *)(loader_task_activate)),&l); |
|
} |
|