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); | ||
