From: Nicholas Nethercote Date: Tue, 30 Aug 2005 02:17:23 +0000 (+0000) Subject: Moved sched_* from "generic" to "linux"; Darwin doesn't have them. X-Git-Tag: svn/VALGRIND_3_1_0~491 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b79e7281d4dfdfb48230ded3b0daeb22fc31ddae;p=thirdparty%2Fvalgrind.git Moved sched_* from "generic" to "linux"; Darwin doesn't have them. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4576 --- diff --git a/coregrind/m_syswrap/priv_syswrap-generic.h b/coregrind/m_syswrap/priv_syswrap-generic.h index 091719e845..8b18b44235 100644 --- a/coregrind/m_syswrap/priv_syswrap-generic.h +++ b/coregrind/m_syswrap/priv_syswrap-generic.h @@ -110,14 +110,6 @@ DECL_TEMPLATE(generic, sys_mlock); 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); @@ -209,8 +201,6 @@ DECL_TEMPLATE(generic, sys_lchown); // * (L?) 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); // * (?) diff --git a/coregrind/m_syswrap/priv_syswrap-linux.h b/coregrind/m_syswrap/priv_syswrap-linux.h index 331f5247ea..8182cf87a9 100644 --- a/coregrind/m_syswrap/priv_syswrap-linux.h +++ b/coregrind/m_syswrap/priv_syswrap-linux.h @@ -149,6 +149,18 @@ DECL_TEMPLATE(linux, sys_flistxattr); 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 /*--------------------------------------------------------------------*/ diff --git a/coregrind/m_syswrap/syswrap-amd64-linux.c b/coregrind/m_syswrap/syswrap-amd64-linux.c index 576f767a7e..7f31e7cc7e 100644 --- a/coregrind/m_syswrap/syswrap-amd64-linux.c +++ b/coregrind/m_syswrap/syswrap-amd64-linux.c @@ -1204,7 +1204,7 @@ const SyscallTableEntry ML_(syscall_table)[] = { 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 @@ -1346,14 +1346,14 @@ const SyscallTableEntry ML_(syscall_table)[] = { // (__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 @@ -1419,8 +1419,8 @@ const SyscallTableEntry ML_(syscall_table)[] = { // (__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 diff --git a/coregrind/m_syswrap/syswrap-generic.c b/coregrind/m_syswrap/syswrap-generic.c index 8c5cb3e8c8..18b03e9f55 100644 --- a/coregrind/m_syswrap/syswrap-generic.c +++ b/coregrind/m_syswrap/syswrap-generic.c @@ -1704,13 +1704,6 @@ PRE(sys_exit) 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)"); @@ -1905,22 +1898,6 @@ PRE(sys_nice) 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; @@ -1949,18 +1926,6 @@ PRE(sys_munlockall) 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); @@ -4668,31 +4633,6 @@ PRE(sys_rmdir) 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; @@ -4988,26 +4928,6 @@ PRE(sys_utimes) 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); diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c index cc0c681c4e..28198fe5c2 100644 --- a/coregrind/m_syswrap/syswrap-linux.c +++ b/coregrind/m_syswrap/syswrap-linux.c @@ -1400,6 +1400,85 @@ PRE(sys_fremovexattr) 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 diff --git a/coregrind/m_syswrap/syswrap-ppc32-linux.c b/coregrind/m_syswrap/syswrap-ppc32-linux.c index db299f28d6..8477590e50 100644 --- a/coregrind/m_syswrap/syswrap-ppc32-linux.c +++ b/coregrind/m_syswrap/syswrap-ppc32-linux.c @@ -2144,16 +2144,16 @@ const SyscallTableEntry ML_(syscall_table)[] = { //.. 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 @@ -2227,8 +2227,8 @@ const SyscallTableEntry ML_(syscall_table)[] = { //.. 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 diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c index 1e28c122ef..465bdcbef9 100644 --- a/coregrind/m_syswrap/syswrap-x86-linux.c +++ b/coregrind/m_syswrap/syswrap-x86-linux.c @@ -2126,16 +2126,16 @@ const SyscallTableEntry ML_(syscall_table)[] = { 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 @@ -2232,8 +2232,8 @@ const SyscallTableEntry ML_(syscall_table)[] = { 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