diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/common.h | 4 | ||||
-rw-r--r-- | include/litmus.h | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/include/common.h b/include/common.h index d1234ba..dbcfd34 100644 --- a/include/common.h +++ b/include/common.h | |||
@@ -1,7 +1,11 @@ | |||
1 | #ifndef COMMON_H | 1 | #ifndef COMMON_H |
2 | #define COMMON_H | 2 | #define COMMON_H |
3 | 3 | ||
4 | #include "litmus.h" | ||
4 | 5 | ||
5 | void bail_out(const char* msg); | 6 | void bail_out(const char* msg); |
6 | 7 | ||
8 | /* EDF-WM helper functions to parse task parameters from file */ | ||
9 | int parse_edfwm_ts_file(FILE *ts, struct rt_task *rt); | ||
10 | |||
7 | #endif | 11 | #endif |
diff --git a/include/litmus.h b/include/litmus.h index 7382936..6c3483c 100644 --- a/include/litmus.h +++ b/include/litmus.h | |||
@@ -9,6 +9,7 @@ extern "C" { | |||
9 | * This is required for the rt_param | 9 | * This is required for the rt_param |
10 | * and control_page structures. | 10 | * and control_page structures. |
11 | */ | 11 | */ |
12 | #include <linux/threads.h> | ||
12 | #include <litmus/rt_param.h> | 13 | #include <litmus/rt_param.h> |
13 | 14 | ||
14 | #include <sys/types.h> | 15 | #include <sys/types.h> |
@@ -40,6 +41,7 @@ int sporadic_task_ns( | |||
40 | int cpu, task_class_t cls, | 41 | int cpu, task_class_t cls, |
41 | budget_policy_t budget_policy, int set_cpu_set); | 42 | budget_policy_t budget_policy, int set_cpu_set); |
42 | 43 | ||
44 | /* Semi-partitioned schedulers --- sporadic task helpers (ns) */ | ||
43 | int sporadic_task_ns_edffm(lt_t e, lt_t p, lt_t phase, int cpu, | 45 | int sporadic_task_ns_edffm(lt_t e, lt_t p, lt_t phase, int cpu, |
44 | lt_t *frac1, lt_t *frac2, int cpu1, int cpu2, | 46 | lt_t *frac1, lt_t *frac2, int cpu1, int cpu2, |
45 | task_class_t cls, budget_policy_t budget_policy, | 47 | task_class_t cls, budget_policy_t budget_policy, |
@@ -50,6 +52,8 @@ int sporadic_task_ns_npsf( | |||
50 | int cpu, task_class_t cls, int npsf_id, | 52 | int cpu, task_class_t cls, int npsf_id, |
51 | budget_policy_t budget_policy, int set_cpu_set); | 53 | budget_policy_t budget_policy, int set_cpu_set); |
52 | 54 | ||
55 | int sporadic_task_ns_semi(struct rt_task *rt); | ||
56 | |||
53 | /* budget enforcement off by default in these macros */ | 57 | /* budget enforcement off by default in these macros */ |
54 | #define sporadic_global(e, p) \ | 58 | #define sporadic_global(e, p) \ |
55 | sporadic_task(e, p, 0, 0, RT_CLASS_SOFT, NO_ENFORCEMENT, 0) | 59 | sporadic_task(e, p, 0, 0, RT_CLASS_SOFT, NO_ENFORCEMENT, 0) |
@@ -95,11 +99,14 @@ typedef int (*rt_fn_t)(void*); | |||
95 | int create_rt_task(rt_fn_t rt_prog, void *arg, int cpu, int wcet, int period); | 99 | int create_rt_task(rt_fn_t rt_prog, void *arg, int cpu, int wcet, int period); |
96 | int __create_rt_task(rt_fn_t rt_prog, void *arg, int cpu, int wcet, | 100 | int __create_rt_task(rt_fn_t rt_prog, void *arg, int cpu, int wcet, |
97 | int period, task_class_t cls); | 101 | int period, task_class_t cls); |
102 | |||
103 | /* Semi-partitioned schedulers helper to wrap __launch_rt_task() */ | ||
98 | int __create_rt_task_edffm(rt_fn_t rt_prog, void *arg, int cpu, int wcet, | 104 | int __create_rt_task_edffm(rt_fn_t rt_prog, void *arg, int cpu, int wcet, |
99 | int period, lt_t *frac1, lt_t *frac2, | 105 | int period, lt_t *frac1, lt_t *frac2, |
100 | int cpu1, int cpu2, task_class_t class); | 106 | int cpu1, int cpu2, task_class_t class); |
101 | int __create_rt_task_npsf(rt_fn_t rt_prog, void *arg, int cpu, int wcet, | 107 | int __create_rt_task_npsf(rt_fn_t rt_prog, void *arg, int cpu, int wcet, |
102 | int period, int npsf_id, task_class_t class); | 108 | int period, int npsf_id, task_class_t class); |
109 | int create_rt_task_semi(rt_fn_t rt_prog, void *arg, struct rt_task *params); | ||
103 | 110 | ||
104 | /* per-task modes */ | 111 | /* per-task modes */ |
105 | enum rt_task_mode_t { | 112 | enum rt_task_mode_t { |