aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/common.h4
-rw-r--r--include/litmus.h7
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
5void bail_out(const char* msg); 6void bail_out(const char* msg);
6 7
8/* EDF-WM helper functions to parse task parameters from file */
9int 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) */
43int sporadic_task_ns_edffm(lt_t e, lt_t p, lt_t phase, int cpu, 45int 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
55int 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*);
95int create_rt_task(rt_fn_t rt_prog, void *arg, int cpu, int wcet, int period); 99int create_rt_task(rt_fn_t rt_prog, void *arg, int cpu, int wcet, int period);
96int __create_rt_task(rt_fn_t rt_prog, void *arg, int cpu, int wcet, 100int __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() */
98int __create_rt_task_edffm(rt_fn_t rt_prog, void *arg, int cpu, int wcet, 104int __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);
101int __create_rt_task_npsf(rt_fn_t rt_prog, void *arg, int cpu, int wcet, 107int __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);
109int 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 */
105enum rt_task_mode_t { 112enum rt_task_mode_t {