diff options
author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2007-11-19 19:49:49 -0500 |
---|---|---|
committer | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2007-11-19 19:49:49 -0500 |
commit | cdac0068df6b97c30aec8ab6314465bbf80c3fa7 (patch) | |
tree | 5f9feeeaaacd632f674e0853638f148ee3597e17 /src | |
parent | d5e648be51bbcab442199c64fadd35c935c81620 (diff) |
ICS/FDSO: new FDSO ABI and ICS ABI
update system call interface
Diffstat (limited to 'src')
-rw-r--r-- | src/litmus.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/litmus.c b/src/litmus.c index fe01e0e..15f7e55 100644 --- a/src/litmus.c +++ b/src/litmus.c | |||
@@ -43,6 +43,12 @@ type name(type1 arg1,type2 arg2, type3 arg3) \ | |||
43 | return syscall(__NR_##name, arg1, arg2, arg3); \ | 43 | return syscall(__NR_##name, arg1, arg2, arg3); \ |
44 | } | 44 | } |
45 | 45 | ||
46 | #define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4)\ | ||
47 | type name(type1 arg1,type2 arg2, type3 arg3, type4 arg4) \ | ||
48 | {\ | ||
49 | return syscall(__NR_##name, arg1, arg2, arg3, arg4); \ | ||
50 | } | ||
51 | |||
46 | 52 | ||
47 | /* clear the TID in the child */ | 53 | /* clear the TID in the child */ |
48 | #define CLONE_CHILD_CLEARTID 0x00200000 | 54 | #define CLONE_CHILD_CLEARTID 0x00200000 |
@@ -302,7 +308,7 @@ void init_litmus(void) | |||
302 | #define __NR_scheduler_setup 327 | 308 | #define __NR_scheduler_setup 327 |
303 | #define __NR_register_np_flag 328 | 309 | #define __NR_register_np_flag 328 |
304 | #define __NR_signal_exit_np 329 | 310 | #define __NR_signal_exit_np 329 |
305 | #define __NR_od_open 330 | 311 | #define __NR_od_openx 330 |
306 | #define __NR_od_close 331 | 312 | #define __NR_od_close 331 |
307 | #define __NR_pi_down 332 | 313 | #define __NR_pi_down 332 |
308 | #define __NR_pi_up 333 | 314 | #define __NR_pi_up 333 |
@@ -313,6 +319,8 @@ void init_litmus(void) | |||
313 | #define __NR_wait_for_job_release 338 | 319 | #define __NR_wait_for_job_release 338 |
314 | #define __NR_set_service_levels 339 | 320 | #define __NR_set_service_levels 339 |
315 | #define __NR_get_cur_service_level 340 | 321 | #define __NR_get_cur_service_level 340 |
322 | #define __NR_reg_ics_cb 341 | ||
323 | #define __NR_start_wcs 342 | ||
316 | 324 | ||
317 | 325 | ||
318 | /* Syscall stub for setting RT mode and scheduling options */ | 326 | /* Syscall stub for setting RT mode and scheduling options */ |
@@ -326,7 +334,8 @@ _syscall2(int, scheduler_setup, int, cmd, void*, param); | |||
326 | _syscall1(int, register_np_flag, struct np_flag*, flag); | 334 | _syscall1(int, register_np_flag, struct np_flag*, flag); |
327 | _syscall0(int, signal_exit_np); | 335 | _syscall0(int, signal_exit_np); |
328 | 336 | ||
329 | _syscall3(int, od_open, int, fd, obj_type_t, type, int, obj_id); | 337 | _syscall4(int, od_openx, int, fd, obj_type_t, type, int, obj_id, |
338 | void*, config); | ||
330 | _syscall1(int, od_close, int, od); | 339 | _syscall1(int, od_close, int, od); |
331 | _syscall1(int, pi_down, int, od); | 340 | _syscall1(int, pi_down, int, od); |
332 | _syscall1(int, pi_up, int, od); | 341 | _syscall1(int, pi_up, int, od); |
@@ -337,3 +346,5 @@ _syscall1(int, reg_task_srp_sem, int, od); | |||
337 | _syscall1(int, get_job_no, unsigned int*, job_no); | 346 | _syscall1(int, get_job_no, unsigned int*, job_no); |
338 | _syscall1(int, wait_for_job_release, unsigned int, job_no); | 347 | _syscall1(int, wait_for_job_release, unsigned int, job_no); |
339 | 348 | ||
349 | _syscall1(int, start_wcs, int, od); | ||
350 | _syscall1(int, reg_ics_cb, struct ics_cb*, ics_cb); | ||