Rev 1254 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1254 | giacomo | 1 | #include "kernel/kern.h" |
2 | #include "fsf_server.h" |
||
3 | #include "fsf_contract.h" |
||
4 | #include "func.h" |
||
5 | |||
6 | extern struct loader_contract loader_contract_list[]; |
||
7 | extern int total_loader_contract; |
||
8 | |||
9 | void fsfinit() |
||
10 | { |
||
11 | |||
12 | struct loader_contract *c; |
||
13 | fsf_contract_parameters_t contract; |
||
14 | fsf_server_id_t server; |
||
15 | int i; |
||
16 | |||
17 | for (i=0;i<total_loader_contract;i++) { |
||
18 | |||
19 | c = &loader_contract_list[i]; |
||
20 | |||
21 | fsf_initialize_contract(&contract); |
||
22 | |||
23 | fsf_set_contract_basic_parameters(&contract,&c->cmin,&c->tmax,&c->cmax,&c->tmin,c->workload); |
||
24 | |||
25 | if (c->local_scheduler != PAR_POSIX) { |
||
26 | |||
27 | switch (c->local_scheduler) { |
||
28 | case PAR_EDF: |
||
29 | fsf_set_local_scheduler_parameter(&contract,FSF_SCHEDULER_EDF); |
||
30 | break; |
||
31 | case PAR_RM: |
||
32 | fsf_set_local_scheduler_parameter(&contract,FSF_SCHEDULER_RM); |
||
33 | break; |
||
34 | } |
||
35 | |||
36 | } |
||
37 | |||
38 | fsf_negotiate_contract(&contract,&server); |
||
39 | c->server = server; |
||
1311 | giacomo | 40 | |
1254 | giacomo | 41 | } |
42 | |||
1311 | giacomo | 43 | print_server_list(); |
44 | |||
1254 | giacomo | 45 | } |