aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern B. Brandenburg <bbb@cs.unc.edu>2007-04-18 20:16:09 -0400
committerBjoern B. Brandenburg <bbb@cs.unc.edu>2007-04-18 20:16:09 -0400
commitb004572dbb820158a495f5ab299e60685601fe46 (patch)
treeca3285f7671a5e831cae644a1e49ce95ca0790f2
parent3f86a67c1f161d46e6aa3f82e2bc83dad33e7abd (diff)
Added system calls for non-preemptable sections.
int enter_np(void); int exit_np(void);
-rw-r--r--litmus.c4
-rw-r--r--litmus.h3
2 files changed, 6 insertions, 1 deletions
diff --git a/litmus.c b/litmus.c
index e4958ce..665ae64 100644
--- a/litmus.c
+++ b/litmus.c
@@ -177,6 +177,8 @@ task_class_t str2class(const char* str)
177#define __NR_reset_stat 326 177#define __NR_reset_stat 326
178#define __NR_sleep_next_period 327 178#define __NR_sleep_next_period 327
179#define __NR_scheduler_setup 328 179#define __NR_scheduler_setup 328
180#define __NR_enter_np 329
181#define __NR_exit_np 330
180 182
181 183
182/* Syscall stub for setting RT mode and scheduling options */ 184/* Syscall stub for setting RT mode and scheduling options */
@@ -189,3 +191,5 @@ _syscall1(int, prepare_rt_task, pid_t, pid);
189_syscall0(int, reset_stat); 191_syscall0(int, reset_stat);
190_syscall0(int, sleep_next_period); 192_syscall0(int, sleep_next_period);
191_syscall2(int, scheduler_setup, int, cmd, void*, param); 193_syscall2(int, scheduler_setup, int, cmd, void*, param);
194_syscall0(int, enter_np);
195_syscall0(int, exit_np);
diff --git a/litmus.h b/litmus.h
index e5d70be..8b0b88d 100644
--- a/litmus.h
+++ b/litmus.h
@@ -67,7 +67,8 @@ int tear_down_task(pid_t pid, int sig);
67int reset_stat(void); 67int reset_stat(void);
68int sleep_next_period(void); 68int sleep_next_period(void);
69int scheduler_setup(int cmd, void* param); 69int scheduler_setup(int cmd, void* param);
70 70int enter_np(void);
71int exit_np(void);
71 72
72/* library functions */ 73/* library functions */
73int create_rt_task(rt_fn_t rt_prog, void *arg, int cpu, int wcet, int period); 74int create_rt_task(rt_fn_t rt_prog, void *arg, int cpu, int wcet, int period);