DECL_TEMPLATE(generic, sys_munlock);
DECL_TEMPLATE(generic, sys_mlockall);
DECL_TEMPLATE(generic, sys_munlockall);
-DECL_TEMPLATE(generic, sys_sched_setparam);
-DECL_TEMPLATE(generic, sys_sched_getparam);
-DECL_TEMPLATE(generic, sys_sched_rr_get_interval);
-DECL_TEMPLATE(generic, sys_sched_setscheduler);
-DECL_TEMPLATE(generic, sys_sched_getscheduler);
-DECL_TEMPLATE(generic, sys_sched_yield);
-DECL_TEMPLATE(generic, sys_sched_get_priority_max);
-DECL_TEMPLATE(generic, sys_sched_get_priority_min);
DECL_TEMPLATE(generic, sys_nanosleep);
DECL_TEMPLATE(generic, sys_mremap); // POSIX, but Linux arg order may be odd
DECL_TEMPLATE(generic, sys_getuid);
DECL_TEMPLATE(generic, sys_mincore); // * L?
DECL_TEMPLATE(generic, sys_getdents64); // * (SVr4,SVID?)
DECL_TEMPLATE(generic, sys_fcntl64); // * P?
-DECL_TEMPLATE(generic, sys_sched_setaffinity); // * L?
-DECL_TEMPLATE(generic, sys_sched_getaffinity); // * L?
DECL_TEMPLATE(generic, sys_lookup_dcookie); // (*/32/64) L
DECL_TEMPLATE(generic, sys_statfs64); // * (?)
DECL_TEMPLATE(generic, sys_fstatfs64); // * (?)
DECL_TEMPLATE(linux, sys_removexattr);
DECL_TEMPLATE(linux, sys_lremovexattr);
DECL_TEMPLATE(linux, sys_fremovexattr);
+
+DECL_TEMPLATE(linux, sys_sched_setparam);
+DECL_TEMPLATE(linux, sys_sched_getparam);
+DECL_TEMPLATE(linux, sys_sched_setscheduler);
+DECL_TEMPLATE(linux, sys_sched_getscheduler);
+DECL_TEMPLATE(linux, sys_sched_yield);
+DECL_TEMPLATE(linux, sys_sched_get_priority_max);
+DECL_TEMPLATE(linux, sys_sched_get_priority_min);
+//DECL_TEMPLATE(linux, sys_sched_rr_get_interval); // not yet encountered
+DECL_TEMPLATE(linux, sys_sched_setaffinity);
+DECL_TEMPLATE(linux, sys_sched_getaffinity);
+
#endif // __PRIV_SYSWRAP_LINUX_H
/*--------------------------------------------------------------------*/
GENX_(__NR_access, sys_access), // 21
GENXY(__NR_pipe, sys_pipe), // 22
GENX_(__NR_select, sys_select), // 23
- GENX_(__NR_sched_yield, sys_sched_yield), // 24
+ LINX_(__NR_sched_yield, sys_sched_yield), // 24
GENX_(__NR_mremap, sys_mremap), // 25
GENX_(__NR_msync, sys_msync), // 26
// (__NR_getpriority, sys_getpriority), // 140
// (__NR_setpriority, sys_setpriority), // 141
-//zz GENXY(__NR_sched_setparam, sys_sched_setparam), // 142
- GENXY(__NR_sched_getparam, sys_sched_getparam), // 143
- GENX_(__NR_sched_setscheduler, sys_sched_setscheduler), // 144
-
- GENX_(__NR_sched_getscheduler, sys_sched_getscheduler), // 145
- GENX_(__NR_sched_get_priority_max, sys_sched_get_priority_max), // 146
- GENX_(__NR_sched_get_priority_min, sys_sched_get_priority_min), // 147
- // (__NR_sched_rr_get_interval, sys_sched_rr_get_interval), // 148
+//zz LINXY(__NR_sched_setparam, sys_sched_setparam), // 142
+ LINXY(__NR_sched_getparam, sys_sched_getparam), // 143
+ LINX_(__NR_sched_setscheduler, sys_sched_setscheduler), // 144
+
+ LINX_(__NR_sched_getscheduler, sys_sched_getscheduler), // 145
+ LINX_(__NR_sched_get_priority_max, sys_sched_get_priority_max), // 146
+ LINX_(__NR_sched_get_priority_min, sys_sched_get_priority_min), // 147
+ //LINX?(__NR_sched_rr_get_interval, sys_sched_rr_get_interval), // 148
GENX_(__NR_mlock, sys_mlock), // 149
GENX_(__NR_munlock, sys_munlock), // 150
// (__NR_tkill, sys_tkill), // 200
GENXY(__NR_time, sys_time), /*was sys_time64*/ // 201
LINXY(__NR_futex, sys_futex), // 202
- GENX_(__NR_sched_setaffinity, sys_sched_setaffinity), // 203
- GENXY(__NR_sched_getaffinity, sys_sched_getaffinity), // 204
+ LINX_(__NR_sched_setaffinity, sys_sched_setaffinity), // 203
+ LINXY(__NR_sched_getaffinity, sys_sched_getaffinity), // 204
// (__NR_set_thread_area, sys_ni_syscall), // 205
LINX_(__NR_io_setup, sys_io_setup), // 206
SET_STATUS_Success(0);
}
-PRE(sys_sched_yield)
-{
- *flags |= SfMayBlock;
- PRINT("sched_yield()");
- PRE_REG_READ0(long, "sys_sched_yield");
-}
-
PRE(sys_ni_syscall)
{
PRINT("non-existent syscall! (ni_syscall)");
PRE_REG_READ1(long, "nice", int, inc);
}
-PRE(sys_sched_getscheduler)
-{
- PRINT("sys_sched_getscheduler ( %d )", ARG1);
- PRE_REG_READ1(long, "sched_getscheduler", vki_pid_t, pid);
-}
-
-PRE(sys_sched_setscheduler)
-{
- PRINT("sys_sched_setscheduler ( %d, %d, %p )", ARG1,ARG2,ARG3);
- PRE_REG_READ3(long, "sched_setscheduler",
- vki_pid_t, pid, int, policy, struct sched_param *, p);
- if (ARG3 != 0)
- PRE_MEM_READ( "sched_setscheduler(p)",
- ARG3, sizeof(struct vki_sched_param));
-}
-
PRE(sys_mlock)
{
*flags |= SfMayBlock;
PRE_REG_READ0(long, "munlockall");
}
-PRE(sys_sched_get_priority_max)
-{
- PRINT("sched_get_priority_max ( %d )", ARG1);
- PRE_REG_READ1(long, "sched_get_priority_max", int, policy);
-}
-
-PRE(sys_sched_get_priority_min)
-{
- PRINT("sched_get_priority_min ( %d )", ARG1);
- PRE_REG_READ1(long, "sched_get_priority_min", int, policy);
-}
-
PRE(sys_setpriority)
{
PRINT("sys_setpriority ( %d, %d, %d )", ARG1, ARG2, ARG3);
PRE_MEM_RASCIIZ( "rmdir(pathname)", ARG1 );
}
-PRE(sys_sched_setparam)
-{
- PRINT("sched_setparam ( %d, %p )", ARG1, ARG2 );
- PRE_REG_READ2(long, "sched_setparam",
- vki_pid_t, pid, struct sched_param *, p);
- PRE_MEM_READ( "sched_setparam(p)", ARG2, sizeof(struct vki_sched_param) );
-}
-POST(sys_sched_setparam)
-{
- POST_MEM_WRITE( ARG2, sizeof(struct vki_sched_param) );
-}
-
-PRE(sys_sched_getparam)
-{
- PRINT("sched_getparam ( %d, %p )", ARG1, ARG2 );
- PRE_REG_READ2(long, "sched_getparam",
- vki_pid_t, pid, struct sched_param *, p);
- PRE_MEM_WRITE( "sched_getparam(p)", ARG2, sizeof(struct vki_sched_param) );
-}
-
-POST(sys_sched_getparam)
-{
- POST_MEM_WRITE( ARG2, sizeof(struct vki_sched_param) );
-}
-
PRE(sys_select)
{
*flags |= SfMayBlock;
PRE_MEM_READ( "utimes(tvp)", ARG2, sizeof(struct vki_timeval) );
}
-PRE(sys_sched_setaffinity)
-{
- PRINT("sched_setaffinity ( %d, %d, %p )", ARG1, ARG2, ARG3);
- PRE_REG_READ3(long, "sched_setaffinity",
- vki_pid_t, pid, unsigned int, len, unsigned long *, mask);
- PRE_MEM_READ( "sched_setaffinity(mask)", ARG3, ARG2);
-}
-
-PRE(sys_sched_getaffinity)
-{
- PRINT("sched_getaffinity ( %d, %d, %p )", ARG1, ARG2, ARG3);
- PRE_REG_READ3(long, "sched_getaffinity",
- vki_pid_t, pid, unsigned int, len, unsigned long *, mask);
- PRE_MEM_WRITE( "sched_getaffinity(mask)", ARG3, ARG2);
-}
-POST(sys_sched_getaffinity)
-{
- POST_MEM_WRITE(ARG3, ARG2);
-}
-
PRE(sys_acct)
{
PRINT("sys_acct ( %p )", ARG1);
PRE_MEM_RASCIIZ( "fremovexattr(name)", ARG2 );
}
+PRE(sys_sched_setparam)
+{
+ PRINT("sched_setparam ( %d, %p )", ARG1, ARG2 );
+ PRE_REG_READ2(long, "sched_setparam",
+ vki_pid_t, pid, struct sched_param *, p);
+ PRE_MEM_READ( "sched_setparam(p)", ARG2, sizeof(struct vki_sched_param) );
+}
+POST(sys_sched_setparam)
+{
+ POST_MEM_WRITE( ARG2, sizeof(struct vki_sched_param) );
+}
+
+PRE(sys_sched_getparam)
+{
+ PRINT("sched_getparam ( %d, %p )", ARG1, ARG2 );
+ PRE_REG_READ2(long, "sched_getparam",
+ vki_pid_t, pid, struct sched_param *, p);
+ PRE_MEM_WRITE( "sched_getparam(p)", ARG2, sizeof(struct vki_sched_param) );
+}
+POST(sys_sched_getparam)
+{
+ POST_MEM_WRITE( ARG2, sizeof(struct vki_sched_param) );
+}
+
+PRE(sys_sched_getscheduler)
+{
+ PRINT("sys_sched_getscheduler ( %d )", ARG1);
+ PRE_REG_READ1(long, "sched_getscheduler", vki_pid_t, pid);
+}
+
+PRE(sys_sched_setscheduler)
+{
+ PRINT("sys_sched_setscheduler ( %d, %d, %p )", ARG1,ARG2,ARG3);
+ PRE_REG_READ3(long, "sched_setscheduler",
+ vki_pid_t, pid, int, policy, struct sched_param *, p);
+ if (ARG3 != 0)
+ PRE_MEM_READ( "sched_setscheduler(p)",
+ ARG3, sizeof(struct vki_sched_param));
+}
+
+PRE(sys_sched_yield)
+{
+ *flags |= SfMayBlock;
+ PRINT("sched_yield()");
+ PRE_REG_READ0(long, "sys_sched_yield");
+}
+
+PRE(sys_sched_get_priority_max)
+{
+ PRINT("sched_get_priority_max ( %d )", ARG1);
+ PRE_REG_READ1(long, "sched_get_priority_max", int, policy);
+}
+
+PRE(sys_sched_get_priority_min)
+{
+ PRINT("sched_get_priority_min ( %d )", ARG1);
+ PRE_REG_READ1(long, "sched_get_priority_min", int, policy);
+}
+
+PRE(sys_sched_setaffinity)
+{
+ PRINT("sched_setaffinity ( %d, %d, %p )", ARG1, ARG2, ARG3);
+ PRE_REG_READ3(long, "sched_setaffinity",
+ vki_pid_t, pid, unsigned int, len, unsigned long *, mask);
+ PRE_MEM_READ( "sched_setaffinity(mask)", ARG3, ARG2);
+}
+
+PRE(sys_sched_getaffinity)
+{
+ PRINT("sched_getaffinity ( %d, %d, %p )", ARG1, ARG2, ARG3);
+ PRE_REG_READ3(long, "sched_getaffinity",
+ vki_pid_t, pid, unsigned int, len, unsigned long *, mask);
+ PRE_MEM_WRITE( "sched_getaffinity(mask)", ARG3, ARG2);
+}
+POST(sys_sched_getaffinity)
+{
+ POST_MEM_WRITE(ARG3, ARG2);
+}
+
#undef PRE
#undef POST
//.. GENX_(__NR_munlock, sys_munlock), // 151
//.. GENX_(__NR_mlockall, sys_mlockall), // 152
//.. GENX_(__NR_munlockall, sys_munlockall), // 153
-//.. GENXY(__NR_sched_setparam, sys_sched_setparam), // 154
+//.. LINXY(__NR_sched_setparam, sys_sched_setparam), // 154
//..
- GENXY(__NR_sched_getparam, sys_sched_getparam), // 155
-//.. GENX_(__NR_sched_setscheduler, sys_sched_setscheduler), // 156
- GENX_(__NR_sched_getscheduler, sys_sched_getscheduler), // 157
-//.. GENX_(__NR_sched_yield, sys_sched_yield), // 158
- GENX_(__NR_sched_get_priority_max, sys_sched_get_priority_max),// 159
+ LINXY(__NR_sched_getparam, sys_sched_getparam), // 155
+//.. LINX_(__NR_sched_setscheduler, sys_sched_setscheduler), // 156
+ LINX_(__NR_sched_getscheduler, sys_sched_getscheduler), // 157
+//.. LINX_(__NR_sched_yield, sys_sched_yield), // 158
+ LINX_(__NR_sched_get_priority_max, sys_sched_get_priority_max),// 159
- GENX_(__NR_sched_get_priority_min, sys_sched_get_priority_min),// 160
-//.. // (__NR_sched_rr_get_interval, sys_sched_rr_get_interval), // 161 */*
+ LINX_(__NR_sched_get_priority_min, sys_sched_get_priority_min),// 160
+//.. //LINX?(__NR_sched_rr_get_interval, sys_sched_rr_get_interval), // 161 */*
GENXY(__NR_nanosleep, sys_nanosleep), // 162
GENX_(__NR_mremap, sys_mremap), // 163
LINX_(__NR_setresuid, sys_setresuid16), // 164
//.. LINX_(__NR_fremovexattr, sys_fremovexattr), // 220
LINXY(__NR_futex, sys_futex), // 221
-//.. GENX_(__NR_sched_setaffinity, sys_sched_setaffinity), // 222
-//.. GENXY(__NR_sched_getaffinity, sys_sched_getaffinity), // 223
+//.. LINX_(__NR_sched_setaffinity, sys_sched_setaffinity), // 222
+//.. LINXY(__NR_sched_getaffinity, sys_sched_getaffinity), // 223
/* 224 currently unused */
// __NR_tuxcall // 225
GENX_(__NR_munlock, sys_munlock), // 151
GENX_(__NR_mlockall, sys_mlockall), // 152
GENX_(__NR_munlockall, sys_munlockall), // 153
- GENXY(__NR_sched_setparam, sys_sched_setparam), // 154
+ LINXY(__NR_sched_setparam, sys_sched_setparam), // 154
- GENXY(__NR_sched_getparam, sys_sched_getparam), // 155
- GENX_(__NR_sched_setscheduler, sys_sched_setscheduler), // 156
- GENX_(__NR_sched_getscheduler, sys_sched_getscheduler), // 157
- GENX_(__NR_sched_yield, sys_sched_yield), // 158
- GENX_(__NR_sched_get_priority_max, sys_sched_get_priority_max),// 159
+ LINXY(__NR_sched_getparam, sys_sched_getparam), // 155
+ LINX_(__NR_sched_setscheduler, sys_sched_setscheduler), // 156
+ LINX_(__NR_sched_getscheduler, sys_sched_getscheduler), // 157
+ LINX_(__NR_sched_yield, sys_sched_yield), // 158
+ LINX_(__NR_sched_get_priority_max, sys_sched_get_priority_max),// 159
- GENX_(__NR_sched_get_priority_min, sys_sched_get_priority_min),// 160
-//zz // (__NR_sched_rr_get_interval, sys_sched_rr_get_interval), // 161 */*
+ LINX_(__NR_sched_get_priority_min, sys_sched_get_priority_min),// 160
+//zz //LINX?(__NR_sched_rr_get_interval, sys_sched_rr_get_interval), // 161 */*
GENXY(__NR_nanosleep, sys_nanosleep), // 162
GENX_(__NR_mremap, sys_mremap), // 163
LINX_(__NR_setresuid, sys_setresuid16), // 164
LINXY(__NR_sendfile64, sys_sendfile64), // 239
LINXY(__NR_futex, sys_futex), // 240
- GENX_(__NR_sched_setaffinity, sys_sched_setaffinity), // 241
- GENXY(__NR_sched_getaffinity, sys_sched_getaffinity), // 242
+ LINX_(__NR_sched_setaffinity, sys_sched_setaffinity), // 241
+ LINXY(__NR_sched_getaffinity, sys_sched_getaffinity), // 242
PLAX_(__NR_set_thread_area, sys_set_thread_area), // 243
PLAX_(__NR_get_thread_area, sys_get_thread_area), // 244