From cfba01b0673c5d5572c46e5d32819a60b2dbff3c Mon Sep 17 00:00:00 2001 From: "Bjoern B. Brandenburg" Date: Fri, 18 Jan 2008 15:15:47 -0500 Subject: [ABI] add task_mode_transition system call --- include/litmus.h | 10 ++++++++++ src/litmus.c | 13 +++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/include/litmus.h b/include/litmus.h index 06f84bb..b0095e3 100644 --- a/include/litmus.h +++ b/include/litmus.h @@ -145,6 +145,16 @@ void init_litmus(void); int create_rt_task(rt_fn_t rt_prog, void *arg, int cpu, int wcet, int period); int __create_rt_task(rt_fn_t rt_prog, void *arg, int cpu, int wcet, int period, task_class_t cls); + + +/* per-task modes */ +enum rt_task_mode_t { + BACKGROUND_TASK = 0, + LITMUS_RT_TASK = 1 +}; +int task_mode_transition(int target_mode); + + const char* get_scheduler_name(spolicy scheduler); void show_rt_param(rt_param_t* tp); task_class_t str2class(const char* str); diff --git a/src/litmus.c b/src/litmus.c index 15f7e55..5be0b41 100644 --- a/src/litmus.c +++ b/src/litmus.c @@ -316,12 +316,12 @@ void init_litmus(void) #define __NR_srp_up 335 #define __NR_reg_task_srp_sem 336 #define __NR_get_job_no 337 -#define __NR_wait_for_job_release 338 -#define __NR_set_service_levels 339 -#define __NR_get_cur_service_level 340 -#define __NR_reg_ics_cb 341 -#define __NR_start_wcs 342 - +#define __NR_wait_for_job_release 338 +#define __NR_set_service_levels 339 +#define __NR_get_cur_service_level 340 +#define __NR_reg_ics_cb 341 +#define __NR_start_wcs 342 +#define __NR_task_mode_transition 343 /* Syscall stub for setting RT mode and scheduling options */ _syscall0(spolicy, sched_getpolicy); @@ -348,3 +348,4 @@ _syscall1(int, wait_for_job_release, unsigned int, job_no); _syscall1(int, start_wcs, int, od); _syscall1(int, reg_ics_cb, struct ics_cb*, ics_cb); +_syscall1(int, task_mode_transition, int, target_mode); -- cgit v1.2.2