Added support for the new syscall sys_waitid() Signed-off-by: Arun Sharma Index: linux-2.6-cvs/arch/ia64/ia32/ia32_entry.S =================================================================== RCS file: /home/adsharma/disk2/cvs/linux-2.5/arch/ia64/ia32/ia32_entry.S,v retrieving revision 1.37 diff -u -r1.37 ia32_entry.S --- linux-2.6-cvs/arch/ia64/ia32/ia32_entry.S 24 Aug 2004 18:27:07 -0000 1.37 +++ linux-2.6-cvs/arch/ia64/ia32/ia32_entry.S 21 Sep 2004 18:08:20 -0000 @@ -493,6 +493,8 @@ data8 compat_sys_mq_timedreceive /* 280 */ data8 compat_sys_mq_notify data8 compat_sys_mq_getsetattr + data8 sys_ni_syscall /* reserved for kexec */ + data8 sys32_waitid // guard against failures to increase IA32_NR_syscalls .org ia32_syscall_table + 8*IA32_NR_syscalls Index: linux-2.6-cvs/arch/ia64/ia32/sys_ia32.c =================================================================== RCS file: /home/adsharma/disk2/cvs/linux-2.5/arch/ia64/ia32/sys_ia32.c,v retrieving revision 1.71 diff -u -r1.71 sys_ia32.c --- linux-2.6-cvs/arch/ia64/ia32/sys_ia32.c 12 Jul 2004 21:24:00 -0000 1.71 +++ linux-2.6-cvs/arch/ia64/ia32/sys_ia32.c 21 Sep 2004 18:07:54 -0000 @@ -2728,6 +2728,32 @@ advice); } +asmlinkage long sys32_waitid(int which, compat_pid_t pid, + siginfo_t32 __user *uinfo, int options, + struct compat_rusage __user *uru) +{ + siginfo_t info; + struct rusage ru; + long ret; + mm_segment_t old_fs = get_fs(); + + info.si_signo = 0; + set_fs (KERNEL_DS); + ret = sys_waitid(which, pid, (siginfo_t __user *) &info, options, + uru ? &ru : NULL); + set_fs (old_fs); + + if (ret < 0 || info.si_signo == 0) + return ret; + + if (uru && (ret = put_compat_rusage(&ru, uru))) + return ret; + + BUG_ON(info.si_code & __SI_MASK); + info.si_code |= __SI_CHLD; + return copy_siginfo_to_user32(uinfo, &info); +} + #ifdef NOTYET /* UNTESTED FOR IA64 FROM HERE DOWN */ asmlinkage long sys32_setreuid(compat_uid_t ruid, compat_uid_t euid) Index: linux-2.6-cvs/include/asm-ia64/ia32.h =================================================================== RCS file: /home/adsharma/disk2/cvs/linux-2.5/include/asm-ia64/ia32.h,v retrieving revision 1.22 diff -u -r1.22 ia32.h --- linux-2.6-cvs/include/asm-ia64/ia32.h 19 Jun 2004 14:49:02 -0000 1.22 +++ linux-2.6-cvs/include/asm-ia64/ia32.h 21 Sep 2004 17:55:43 -0000 @@ -6,7 +6,7 @@ #include #include -#define IA32_NR_syscalls 283 /* length of syscall table */ +#define IA32_NR_syscalls 285 /* length of syscall table */ #define IA32_PAGE_SHIFT 12 /* 4KB pages */ #ifndef __ASSEMBLY__