From fb2dacbbb4b1a6aca19ec6a0f0c9f3057e7fde1d Mon Sep 17 00:00:00 2001 From: marcel Date: Wed, 25 Aug 1999 11:19:03 +0000 Subject: Change all UNIMPL syscalls to STD and add them to linux_dummy. Now we always know if and when an unimplemented or obsoleted syscall is being used. Make the message more end-user friendly. And as long as we're here, rename some unimplemeted syscalls (linux_phys -> linux_umount2, linux_vm86 -> linux_vm86old, linux_new_vm86 -> linux_vm86). Change prototype for linux_newuname from `struct linux_newuname_t *' into `struct linux_new_utsname *'. This change is reflected in linux.h and linux_misc.c. --- sys/alpha/linux/linux.h | 11 +++- sys/alpha/linux/linux_dummy.c | 37 ++++++++++-- sys/compat/linux/linux_misc.c | 42 +++++-------- sys/i386/linux/linux.h | 11 +++- sys/i386/linux/linux_dummy.c | 37 ++++++++++-- sys/i386/linux/linux_misc.c | 42 +++++-------- sys/i386/linux/linux_proto.h | 134 ++++++++++++++++++++++++++++++++++++++--- sys/i386/linux/linux_syscall.h | 34 ++++++++++- sys/i386/linux/linux_sysent.c | 66 ++++++++++---------- 9 files changed, 304 insertions(+), 110 deletions(-) diff --git a/sys/alpha/linux/linux.h b/sys/alpha/linux/linux.h index 47987f7..93fafa2 100644 --- a/sys/alpha/linux/linux.h +++ b/sys/alpha/linux/linux.h @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux.h,v 1.33 1999/08/14 17:28:46 marcel Exp $ + * $Id: linux.h,v 1.34 1999/08/15 17:28:39 marcel Exp $ */ #ifndef _I386_LINUX_LINUX_H_ @@ -67,6 +67,15 @@ typedef struct { linux_new_sigset_t lsa_mask; } linux_new_sigaction_t; +#define LINUX_MAX_UTSNAME 65 +struct linux_new_utsname { + char sysname[LINUX_MAX_UTSNAME]; + char nodename[LINUX_MAX_UTSNAME]; + char release[LINUX_MAX_UTSNAME]; + char version[LINUX_MAX_UTSNAME]; + char machine[LINUX_MAX_UTSNAME]; + char domainname[LINUX_MAX_UTSNAME]; +}; /* * The Linux sigcontext, pretty much a standard 386 trapframe. diff --git a/sys/alpha/linux/linux_dummy.c b/sys/alpha/linux/linux_dummy.c index 3dba686..7a3caff 100644 --- a/sys/alpha/linux/linux_dummy.c +++ b/sys/alpha/linux/linux_dummy.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_dummy.c,v 1.9 1998/12/19 02:55:33 julian Exp $ + * $Id: linux_dummy.c,v 1.10 1999/08/15 18:59:44 marcel Exp $ */ #include @@ -46,7 +46,8 @@ struct __hack static int unsupported_msg(struct proc *p, const char *fname) { - printf("Linux-emul(%ld): %s() not supported\n", (long)p->p_pid, fname); + printf("linux: syscall %s is not implemented or obsoleted (pid=%ld)\n", + fname, (long)p->p_pid); return (ENOSYS); } @@ -62,7 +63,7 @@ DUMMY(stty); DUMMY(gtty); DUMMY(ftime); DUMMY(prof); -DUMMY(phys); +DUMMY(umount2); DUMMY(lock); DUMMY(mpx); DUMMY(ulimit); @@ -73,7 +74,7 @@ DUMMY(ksyslog); DUMMY(uname); DUMMY(vhangup); DUMMY(idle); -DUMMY(vm86); +DUMMY(vm86old); DUMMY(swapoff); DUMMY(sysinfo); DUMMY(modify_ldt); @@ -84,3 +85,31 @@ DUMMY(delete_module); DUMMY(get_kernel_syms); DUMMY(quotactl); DUMMY(bdflush); +DUMMY(sysfs); +DUMMY(afs_syscall); +DUMMY(setfsuid); +DUMMY(setfsgid); +DUMMY(getsid); +DUMMY(fdatasync); +DUMMY(sysctl); +DUMMY(setresuid); +DUMMY(getresuid); +DUMMY(vm86); +DUMMY(query_module); +DUMMY(nfsservctl); +DUMMY(setresgid); +DUMMY(getresgid); +DUMMY(prctl); +DUMMY(rt_sigreturn); +DUMMY(rt_sigpending); +DUMMY(rt_sigtimedwait); +DUMMY(rt_sigqueueinfo); +DUMMY(rt_sigsuspend); +DUMMY(pread); +DUMMY(pwrite); +DUMMY(capget); +DUMMY(capset); +DUMMY(sigaltstack); +DUMMY(sendfile); +DUMMY(getpmsg); +DUMMY(putpmsg); diff --git a/sys/compat/linux/linux_misc.c b/sys/compat/linux/linux_misc.c index 277042f..46176df 100644 --- a/sys/compat/linux/linux_misc.c +++ b/sys/compat/linux/linux_misc.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_misc.c,v 1.64 1999/08/16 11:49:30 marcel Exp $ + * $Id: linux_misc.c,v 1.65 1999/08/17 10:09:06 marcel Exp $ */ #include "opt_compat.h" @@ -876,39 +876,25 @@ linux_times(struct proc *p, struct linux_times_args *args) return 0; } -/* XXX move */ -struct linux_newuname_t { - char sysname[65]; - char nodename[65]; - char release[65]; - char version[65]; - char machine[65]; - char domainname[65]; -}; - int linux_newuname(struct proc *p, struct linux_newuname_args *args) { - struct linux_newuname_t linux_newuname; + struct linux_new_utsname utsname; #ifdef DEBUG - printf("Linux-emul(%ld): newuname(*)\n", (long)p->p_pid); + printf("Linux-emul(%ld): newuname(*)\n", (long)p->p_pid); #endif - bzero(&linux_newuname, sizeof(struct linux_newuname_t)); - strncpy(linux_newuname.sysname, "Linux", - sizeof(linux_newuname.sysname) - 1); - strncpy(linux_newuname.nodename, hostname, - sizeof(linux_newuname.nodename) - 1); - strncpy(linux_newuname.release, "2.0.36", - sizeof(linux_newuname.release) - 1); - strncpy(linux_newuname.version, version, - sizeof(linux_newuname.version) - 1); - strncpy(linux_newuname.machine, machine, - sizeof(linux_newuname.machine) - 1); - strncpy(linux_newuname.domainname, domainname, - sizeof(linux_newuname.domainname) - 1); - return (copyout((caddr_t)&linux_newuname, (caddr_t)args->buf, - sizeof(struct linux_newuname_t))); + + bzero(&utsname, sizeof(struct linux_new_utsname)); + strncpy(utsname.sysname, "Linux", LINUX_MAX_UTSNAME-1); + strncpy(utsname.nodename, hostname, LINUX_MAX_UTSNAME-1); + strncpy(utsname.release, "2.0.36", LINUX_MAX_UTSNAME-1); + strncpy(utsname.version, version, LINUX_MAX_UTSNAME-1); + strncpy(utsname.machine, machine, LINUX_MAX_UTSNAME-1); + strncpy(utsname.domainname, domainname, LINUX_MAX_UTSNAME-1); + + return (copyout((caddr_t)&utsname, (caddr_t)args->buf, + sizeof(struct linux_new_utsname))); } struct linux_utimbuf { diff --git a/sys/i386/linux/linux.h b/sys/i386/linux/linux.h index 47987f7..93fafa2 100644 --- a/sys/i386/linux/linux.h +++ b/sys/i386/linux/linux.h @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux.h,v 1.33 1999/08/14 17:28:46 marcel Exp $ + * $Id: linux.h,v 1.34 1999/08/15 17:28:39 marcel Exp $ */ #ifndef _I386_LINUX_LINUX_H_ @@ -67,6 +67,15 @@ typedef struct { linux_new_sigset_t lsa_mask; } linux_new_sigaction_t; +#define LINUX_MAX_UTSNAME 65 +struct linux_new_utsname { + char sysname[LINUX_MAX_UTSNAME]; + char nodename[LINUX_MAX_UTSNAME]; + char release[LINUX_MAX_UTSNAME]; + char version[LINUX_MAX_UTSNAME]; + char machine[LINUX_MAX_UTSNAME]; + char domainname[LINUX_MAX_UTSNAME]; +}; /* * The Linux sigcontext, pretty much a standard 386 trapframe. diff --git a/sys/i386/linux/linux_dummy.c b/sys/i386/linux/linux_dummy.c index 3dba686..7a3caff 100644 --- a/sys/i386/linux/linux_dummy.c +++ b/sys/i386/linux/linux_dummy.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_dummy.c,v 1.9 1998/12/19 02:55:33 julian Exp $ + * $Id: linux_dummy.c,v 1.10 1999/08/15 18:59:44 marcel Exp $ */ #include @@ -46,7 +46,8 @@ struct __hack static int unsupported_msg(struct proc *p, const char *fname) { - printf("Linux-emul(%ld): %s() not supported\n", (long)p->p_pid, fname); + printf("linux: syscall %s is not implemented or obsoleted (pid=%ld)\n", + fname, (long)p->p_pid); return (ENOSYS); } @@ -62,7 +63,7 @@ DUMMY(stty); DUMMY(gtty); DUMMY(ftime); DUMMY(prof); -DUMMY(phys); +DUMMY(umount2); DUMMY(lock); DUMMY(mpx); DUMMY(ulimit); @@ -73,7 +74,7 @@ DUMMY(ksyslog); DUMMY(uname); DUMMY(vhangup); DUMMY(idle); -DUMMY(vm86); +DUMMY(vm86old); DUMMY(swapoff); DUMMY(sysinfo); DUMMY(modify_ldt); @@ -84,3 +85,31 @@ DUMMY(delete_module); DUMMY(get_kernel_syms); DUMMY(quotactl); DUMMY(bdflush); +DUMMY(sysfs); +DUMMY(afs_syscall); +DUMMY(setfsuid); +DUMMY(setfsgid); +DUMMY(getsid); +DUMMY(fdatasync); +DUMMY(sysctl); +DUMMY(setresuid); +DUMMY(getresuid); +DUMMY(vm86); +DUMMY(query_module); +DUMMY(nfsservctl); +DUMMY(setresgid); +DUMMY(getresgid); +DUMMY(prctl); +DUMMY(rt_sigreturn); +DUMMY(rt_sigpending); +DUMMY(rt_sigtimedwait); +DUMMY(rt_sigqueueinfo); +DUMMY(rt_sigsuspend); +DUMMY(pread); +DUMMY(pwrite); +DUMMY(capget); +DUMMY(capset); +DUMMY(sigaltstack); +DUMMY(sendfile); +DUMMY(getpmsg); +DUMMY(putpmsg); diff --git a/sys/i386/linux/linux_misc.c b/sys/i386/linux/linux_misc.c index 277042f..46176df 100644 --- a/sys/i386/linux/linux_misc.c +++ b/sys/i386/linux/linux_misc.c @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: linux_misc.c,v 1.64 1999/08/16 11:49:30 marcel Exp $ + * $Id: linux_misc.c,v 1.65 1999/08/17 10:09:06 marcel Exp $ */ #include "opt_compat.h" @@ -876,39 +876,25 @@ linux_times(struct proc *p, struct linux_times_args *args) return 0; } -/* XXX move */ -struct linux_newuname_t { - char sysname[65]; - char nodename[65]; - char release[65]; - char version[65]; - char machine[65]; - char domainname[65]; -}; - int linux_newuname(struct proc *p, struct linux_newuname_args *args) { - struct linux_newuname_t linux_newuname; + struct linux_new_utsname utsname; #ifdef DEBUG - printf("Linux-emul(%ld): newuname(*)\n", (long)p->p_pid); + printf("Linux-emul(%ld): newuname(*)\n", (long)p->p_pid); #endif - bzero(&linux_newuname, sizeof(struct linux_newuname_t)); - strncpy(linux_newuname.sysname, "Linux", - sizeof(linux_newuname.sysname) - 1); - strncpy(linux_newuname.nodename, hostname, - sizeof(linux_newuname.nodename) - 1); - strncpy(linux_newuname.release, "2.0.36", - sizeof(linux_newuname.release) - 1); - strncpy(linux_newuname.version, version, - sizeof(linux_newuname.version) - 1); - strncpy(linux_newuname.machine, machine, - sizeof(linux_newuname.machine) - 1); - strncpy(linux_newuname.domainname, domainname, - sizeof(linux_newuname.domainname) - 1); - return (copyout((caddr_t)&linux_newuname, (caddr_t)args->buf, - sizeof(struct linux_newuname_t))); + + bzero(&utsname, sizeof(struct linux_new_utsname)); + strncpy(utsname.sysname, "Linux", LINUX_MAX_UTSNAME-1); + strncpy(utsname.nodename, hostname, LINUX_MAX_UTSNAME-1); + strncpy(utsname.release, "2.0.36", LINUX_MAX_UTSNAME-1); + strncpy(utsname.version, version, LINUX_MAX_UTSNAME-1); + strncpy(utsname.machine, machine, LINUX_MAX_UTSNAME-1); + strncpy(utsname.domainname, domainname, LINUX_MAX_UTSNAME-1); + + return (copyout((caddr_t)&utsname, (caddr_t)args->buf, + sizeof(struct linux_new_utsname))); } struct linux_utimbuf { diff --git a/sys/i386/linux/linux_proto.h b/sys/i386/linux/linux_proto.h index d3f742c..24a6338 100644 --- a/sys/i386/linux/linux_proto.h +++ b/sys/i386/linux/linux_proto.h @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * created from Id: syscalls.master,v 1.22 1999/08/16 11:47:21 marcel Exp + * created from Id: syscalls.master,v 1.23 1999/08/25 11:17:36 marcel Exp */ #ifndef _LINUX_SYSPROTO_H_ @@ -152,7 +152,7 @@ struct linux_signal_args { int sig; char sig_[PAD_(int)]; linux_handler_t handler; char handler_[PAD_(linux_handler_t)]; }; -struct linux_phys_args { +struct linux_umount2_args { register_t dummy; }; struct linux_lock_args { @@ -175,7 +175,7 @@ struct linux_ulimit_args { register_t dummy; }; struct linux_olduname_args { - struct linux_oldold_utsname * up; char up_[PAD_(struct linux_oldold_utsname *)]; + register_t dummy; }; struct linux_ustat_args { register_t dummy; @@ -284,7 +284,7 @@ struct linux_newfstat_args { struct linux_newstat * buf; char buf_[PAD_(struct linux_newstat *)]; }; struct linux_uname_args { - struct linux_old_utsname * up; char up_[PAD_(struct linux_old_utsname *)]; + register_t dummy; }; struct linux_iopl_args { int level; char level_[PAD_(int)]; @@ -295,7 +295,7 @@ struct linux_vhangup_args { struct linux_idle_args { register_t dummy; }; -struct linux_vm86_args { +struct linux_vm86old_args { register_t dummy; }; struct linux_wait4_args { @@ -325,7 +325,7 @@ struct linux_clone_args { void * stack; char stack_[PAD_(void *)]; }; struct linux_newuname_args { - struct linux_newuname_t * buf; char buf_[PAD_(struct linux_newuname_t *)]; + struct linux_new_utsname * buf; char buf_[PAD_(struct linux_new_utsname *)]; }; struct linux_modify_ldt_args { int func; char func_[PAD_(int)]; @@ -361,9 +361,23 @@ struct linux_getpgid_args { struct linux_bdflush_args { register_t dummy; }; +struct linux_sysfs_args { + int option; char option_[PAD_(int)]; + u_long arg1; char arg1_[PAD_(u_long)]; + u_long arg2; char arg2_[PAD_(u_long)]; +}; struct linux_personality_args { int per; char per_[PAD_(int)]; }; +struct linux_afs_syscall_args { + register_t dummy; +}; +struct linux_setfsuid_args { + linux_uid_t uid; char uid_[PAD_(linux_uid_t)]; +}; +struct linux_setfsgid_args { + linux_gid_t gid; char gid_[PAD_(linux_gid_t)]; +}; struct linux_llseek_args { int fd; char fd_[PAD_(int)]; u_int32_t ohigh; char ohigh_[PAD_(u_int32_t)]; @@ -388,6 +402,15 @@ struct linux_msync_args { int len; char len_[PAD_(int)]; int fl; char fl_[PAD_(int)]; }; +struct linux_getsid_args { + linux_pid_t pid; char pid_[PAD_(linux_pid_t)]; +}; +struct linux_fdatasync_args { + int fd; char fd_[PAD_(int)]; +}; +struct linux_sysctl_args { + register_t dummy; +}; struct linux_sched_setscheduler_args { pid_t pid; char pid_[PAD_(pid_t)]; int policy; char policy_[PAD_(int)]; @@ -402,6 +425,37 @@ struct linux_mremap_args { int new_len; char new_len_[PAD_(int)]; int flags; char flags_[PAD_(int)]; }; +struct linux_setresuid_args { + linux_uid_t ruid; char ruid_[PAD_(linux_uid_t)]; + linux_uid_t euid; char euid_[PAD_(linux_uid_t)]; + linux_uid_t suid; char suid_[PAD_(linux_uid_t)]; +}; +struct linux_getresuid_args { + linux_uid_t * ruid; char ruid_[PAD_(linux_uid_t *)]; + linux_uid_t * euid; char euid_[PAD_(linux_uid_t *)]; + linux_uid_t * suid; char suid_[PAD_(linux_uid_t *)]; +}; +struct linux_vm86_args { + register_t dummy; +}; +struct linux_query_module_args { + register_t dummy; +}; +struct linux_nfsservctl_args { + register_t dummy; +}; +struct linux_setresgid_args { + register_t dummy; +}; +struct linux_getresgid_args { + register_t dummy; +}; +struct linux_prctl_args { + register_t dummy; +}; +struct linux_rt_sigreturn_args { + register_t dummy; +}; struct linux_rt_sigaction_args { int sig; char sig_[PAD_(int)]; struct linux_new_sigaction * act; char act_[PAD_(struct linux_new_sigaction *)]; @@ -414,6 +468,24 @@ struct linux_rt_sigprocmask_args { struct linux_new_sigset * omask; char omask_[PAD_(struct linux_new_sigset *)]; size_t sigsetsize; char sigsetsize_[PAD_(size_t)]; }; +struct linux_rt_sigpending_args { + register_t dummy; +}; +struct linux_rt_sigtimedwait_args { + register_t dummy; +}; +struct linux_rt_sigqueueinfo_args { + register_t dummy; +}; +struct linux_rt_sigsuspend_args { + register_t dummy; +}; +struct linux_pread_args { + register_t dummy; +}; +struct linux_pwrite_args { + register_t dummy; +}; struct linux_chown_args { char * path; char path_[PAD_(char *)]; int uid; char uid_[PAD_(int)]; @@ -423,6 +495,24 @@ struct linux_getcwd_args { char * buf; char buf_[PAD_(char *)]; unsigned long bufsize; char bufsize_[PAD_(unsigned long)]; }; +struct linux_capget_args { + register_t dummy; +}; +struct linux_capset_args { + register_t dummy; +}; +struct linux_sigaltstack_args { + register_t dummy; +}; +struct linux_sendfile_args { + register_t dummy; +}; +struct linux_getpmsg_args { + register_t dummy; +}; +struct linux_putpmsg_args { + register_t dummy; +}; struct linux_vfork_args { register_t dummy; }; @@ -464,7 +554,7 @@ int linux_times __P((struct proc *, struct linux_times_args *)); int linux_prof __P((struct proc *, struct linux_prof_args *)); int linux_brk __P((struct proc *, struct linux_brk_args *)); int linux_signal __P((struct proc *, struct linux_signal_args *)); -int linux_phys __P((struct proc *, struct linux_phys_args *)); +int linux_umount2 __P((struct proc *, struct linux_umount2_args *)); int linux_lock __P((struct proc *, struct linux_lock_args *)); int linux_ioctl __P((struct proc *, struct linux_ioctl_args *)); int linux_fcntl __P((struct proc *, struct linux_fcntl_args *)); @@ -502,7 +592,7 @@ int linux_uname __P((struct proc *, struct linux_uname_args *)); int linux_iopl __P((struct proc *, struct linux_iopl_args *)); int linux_vhangup __P((struct proc *, struct linux_vhangup_args *)); int linux_idle __P((struct proc *, struct linux_idle_args *)); -int linux_vm86 __P((struct proc *, struct linux_vm86_args *)); +int linux_vm86old __P((struct proc *, struct linux_vm86old_args *)); int linux_wait4 __P((struct proc *, struct linux_wait4_args *)); int linux_swapoff __P((struct proc *, struct linux_swapoff_args *)); int linux_sysinfo __P((struct proc *, struct linux_sysinfo_args *)); @@ -520,18 +610,46 @@ int linux_get_kernel_syms __P((struct proc *, struct linux_get_kernel_syms_args int linux_quotactl __P((struct proc *, struct linux_quotactl_args *)); int linux_getpgid __P((struct proc *, struct linux_getpgid_args *)); int linux_bdflush __P((struct proc *, struct linux_bdflush_args *)); +int linux_sysfs __P((struct proc *, struct linux_sysfs_args *)); int linux_personality __P((struct proc *, struct linux_personality_args *)); +int linux_afs_syscall __P((struct proc *, struct linux_afs_syscall_args *)); +int linux_setfsuid __P((struct proc *, struct linux_setfsuid_args *)); +int linux_setfsgid __P((struct proc *, struct linux_setfsgid_args *)); int linux_llseek __P((struct proc *, struct linux_llseek_args *)); int linux_getdents __P((struct proc *, struct linux_getdents_args *)); int linux_newselect __P((struct proc *, struct linux_newselect_args *)); int linux_msync __P((struct proc *, struct linux_msync_args *)); +int linux_getsid __P((struct proc *, struct linux_getsid_args *)); +int linux_fdatasync __P((struct proc *, struct linux_fdatasync_args *)); +int linux_sysctl __P((struct proc *, struct linux_sysctl_args *)); int linux_sched_setscheduler __P((struct proc *, struct linux_sched_setscheduler_args *)); int linux_sched_getscheduler __P((struct proc *, struct linux_sched_getscheduler_args *)); int linux_mremap __P((struct proc *, struct linux_mremap_args *)); +int linux_setresuid __P((struct proc *, struct linux_setresuid_args *)); +int linux_getresuid __P((struct proc *, struct linux_getresuid_args *)); +int linux_vm86 __P((struct proc *, struct linux_vm86_args *)); +int linux_query_module __P((struct proc *, struct linux_query_module_args *)); +int linux_nfsservctl __P((struct proc *, struct linux_nfsservctl_args *)); +int linux_setresgid __P((struct proc *, struct linux_setresgid_args *)); +int linux_getresgid __P((struct proc *, struct linux_getresgid_args *)); +int linux_prctl __P((struct proc *, struct linux_prctl_args *)); +int linux_rt_sigreturn __P((struct proc *, struct linux_rt_sigreturn_args *)); int linux_rt_sigaction __P((struct proc *, struct linux_rt_sigaction_args *)); int linux_rt_sigprocmask __P((struct proc *, struct linux_rt_sigprocmask_args *)); +int linux_rt_sigpending __P((struct proc *, struct linux_rt_sigpending_args *)); +int linux_rt_sigtimedwait __P((struct proc *, struct linux_rt_sigtimedwait_args *)); +int linux_rt_sigqueueinfo __P((struct proc *, struct linux_rt_sigqueueinfo_args *)); +int linux_rt_sigsuspend __P((struct proc *, struct linux_rt_sigsuspend_args *)); +int linux_pread __P((struct proc *, struct linux_pread_args *)); +int linux_pwrite __P((struct proc *, struct linux_pwrite_args *)); int linux_chown __P((struct proc *, struct linux_chown_args *)); int linux_getcwd __P((struct proc *, struct linux_getcwd_args *)); +int linux_capget __P((struct proc *, struct linux_capget_args *)); +int linux_capset __P((struct proc *, struct linux_capset_args *)); +int linux_sigaltstack __P((struct proc *, struct linux_sigaltstack_args *)); +int linux_sendfile __P((struct proc *, struct linux_sendfile_args *)); +int linux_getpmsg __P((struct proc *, struct linux_getpmsg_args *)); +int linux_putpmsg __P((struct proc *, struct linux_putpmsg_args *)); int linux_vfork __P((struct proc *, struct linux_vfork_args *)); #ifdef COMPAT_43 diff --git a/sys/i386/linux/linux_syscall.h b/sys/i386/linux/linux_syscall.h index 3e75060..1484fc6 100644 --- a/sys/i386/linux/linux_syscall.h +++ b/sys/i386/linux/linux_syscall.h @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from Id: syscalls.master,v 1.22 1999/08/16 11:47:21 marcel Exp + * created from Id: syscalls.master,v 1.23 1999/08/25 11:17:36 marcel Exp */ #define LINUX_SYS_linux_setup 0 @@ -57,7 +57,7 @@ #define LINUX_SYS_geteuid 49 #define LINUX_SYS_getegid 50 #define LINUX_SYS_acct 51 -#define LINUX_SYS_linux_phys 52 +#define LINUX_SYS_linux_umount2 52 #define LINUX_SYS_linux_lock 53 #define LINUX_SYS_linux_ioctl 54 #define LINUX_SYS_linux_fcntl 55 @@ -118,7 +118,7 @@ #define LINUX_SYS_linux_iopl 110 #define LINUX_SYS_linux_vhangup 111 #define LINUX_SYS_linux_idle 112 -#define LINUX_SYS_linux_vm86 113 +#define LINUX_SYS_linux_vm86old 113 #define LINUX_SYS_linux_wait4 114 #define LINUX_SYS_linux_swapoff 115 #define LINUX_SYS_linux_sysinfo 116 @@ -140,7 +140,11 @@ #define LINUX_SYS_linux_getpgid 132 #define LINUX_SYS_fchdir 133 #define LINUX_SYS_linux_bdflush 134 +#define LINUX_SYS_linux_sysfs 135 #define LINUX_SYS_linux_personality 136 +#define LINUX_SYS_linux_afs_syscall 137 +#define LINUX_SYS_linux_setfsuid 138 +#define LINUX_SYS_linux_setfsgid 139 #define LINUX_SYS_linux_llseek 140 #define LINUX_SYS_linux_getdents 141 #define LINUX_SYS_linux_newselect 142 @@ -148,6 +152,9 @@ #define LINUX_SYS_linux_msync 144 #define LINUX_SYS_readv 145 #define LINUX_SYS_writev 146 +#define LINUX_SYS_linux_getsid 147 +#define LINUX_SYS_linux_fdatasync 148 +#define LINUX_SYS_linux_sysctl 149 #define LINUX_SYS_mlock 150 #define LINUX_SYS_munlock 151 #define LINUX_SYS_mlockall 152 @@ -162,10 +169,31 @@ #define LINUX_SYS_sched_rr_get_interval 161 #define LINUX_SYS_nanosleep 162 #define LINUX_SYS_linux_mremap 163 +#define LINUX_SYS_linux_setresuid 164 +#define LINUX_SYS_linux_getresuid 165 +#define LINUX_SYS_linux_vm86 166 +#define LINUX_SYS_linux_query_module 167 #define LINUX_SYS_poll 168 +#define LINUX_SYS_linux_nfsservctl 169 +#define LINUX_SYS_linux_setresgid 170 +#define LINUX_SYS_linux_getresgid 171 +#define LINUX_SYS_linux_prctl 172 +#define LINUX_SYS_linux_rt_sigreturn 173 #define LINUX_SYS_linux_rt_sigaction 174 #define LINUX_SYS_linux_rt_sigprocmask 175 +#define LINUX_SYS_linux_rt_sigpending 176 +#define LINUX_SYS_linux_rt_sigtimedwait 177 +#define LINUX_SYS_linux_rt_sigqueueinfo 178 +#define LINUX_SYS_linux_rt_sigsuspend 179 +#define LINUX_SYS_linux_pread 180 +#define LINUX_SYS_linux_pwrite 181 #define LINUX_SYS_linux_chown 182 #define LINUX_SYS_linux_getcwd 183 +#define LINUX_SYS_linux_capget 184 +#define LINUX_SYS_linux_capset 185 +#define LINUX_SYS_linux_sigaltstack 186 +#define LINUX_SYS_linux_sendfile 187 +#define LINUX_SYS_linux_getpmsg 188 +#define LINUX_SYS_linux_putpmsg 189 #define LINUX_SYS_linux_vfork 190 #define LINUX_SYS_MAXSYSCALL 191 diff --git a/sys/i386/linux/linux_sysent.c b/sys/i386/linux/linux_sysent.c index a98b32f..26a18b9 100644 --- a/sys/i386/linux/linux_sysent.c +++ b/sys/i386/linux/linux_sysent.c @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from Id: syscalls.master,v 1.22 1999/08/16 11:47:21 marcel Exp + * created from Id: syscalls.master,v 1.23 1999/08/25 11:17:36 marcel Exp */ #include "opt_compat.h" @@ -66,14 +66,14 @@ struct sysent linux_sysent[] = { { 0, (sy_call_t *)geteuid }, /* 49 = geteuid */ { 0, (sy_call_t *)getegid }, /* 50 = getegid */ { 1, (sy_call_t *)acct }, /* 51 = acct */ - { 0, (sy_call_t *)linux_phys }, /* 52 = linux_phys */ + { 0, (sy_call_t *)linux_umount2 }, /* 52 = linux_umount2 */ { 0, (sy_call_t *)linux_lock }, /* 53 = linux_lock */ { 3, (sy_call_t *)linux_ioctl }, /* 54 = linux_ioctl */ { 3, (sy_call_t *)linux_fcntl }, /* 55 = linux_fcntl */ { 0, (sy_call_t *)linux_mpx }, /* 56 = linux_mpx */ { 2, (sy_call_t *)setpgid }, /* 57 = setpgid */ { 0, (sy_call_t *)linux_ulimit }, /* 58 = linux_ulimit */ - { 1, (sy_call_t *)linux_olduname }, /* 59 = linux_olduname */ + { 0, (sy_call_t *)linux_olduname }, /* 59 = linux_olduname */ { 1, (sy_call_t *)umask }, /* 60 = umask */ { 1, (sy_call_t *)chroot }, /* 61 = chroot */ { 0, (sy_call_t *)linux_ustat }, /* 62 = linux_ustat */ @@ -123,11 +123,11 @@ struct sysent linux_sysent[] = { { 2, (sy_call_t *)linux_newstat }, /* 106 = linux_newstat */ { 2, (sy_call_t *)linux_newlstat }, /* 107 = linux_newlstat */ { 2, (sy_call_t *)linux_newfstat }, /* 108 = linux_newfstat */ - { 1, (sy_call_t *)linux_uname }, /* 109 = linux_uname */ + { 0, (sy_call_t *)linux_uname }, /* 109 = linux_uname */ { 1, (sy_call_t *)linux_iopl }, /* 110 = linux_iopl */ { 0, (sy_call_t *)linux_vhangup }, /* 111 = linux_vhangup */ { 0, (sy_call_t *)linux_idle }, /* 112 = linux_idle */ - { 0, (sy_call_t *)linux_vm86 }, /* 113 = linux_vm86 */ + { 0, (sy_call_t *)linux_vm86old }, /* 113 = linux_vm86old */ { 4, (sy_call_t *)linux_wait4 }, /* 114 = linux_wait4 */ { 0, (sy_call_t *)linux_swapoff }, /* 115 = linux_swapoff */ { 0, (sy_call_t *)linux_sysinfo }, /* 116 = linux_sysinfo */ @@ -149,11 +149,11 @@ struct sysent linux_sysent[] = { { 1, (sy_call_t *)linux_getpgid }, /* 132 = linux_getpgid */ { 1, (sy_call_t *)fchdir }, /* 133 = fchdir */ { 0, (sy_call_t *)linux_bdflush }, /* 134 = linux_bdflush */ - { 0, (sy_call_t *)nosys }, /* 135 = sysfs */ + { 3, (sy_call_t *)linux_sysfs }, /* 135 = linux_sysfs */ { 1, (sy_call_t *)linux_personality }, /* 136 = linux_personality */ - { 0, (sy_call_t *)nosys }, /* 137 = afs_syscall */ - { 0, (sy_call_t *)nosys }, /* 138 = setfsuid */ - { 0, (sy_call_t *)nosys }, /* 139 = getfsuid */ + { 0, (sy_call_t *)linux_afs_syscall }, /* 137 = linux_afs_syscall */ + { 1, (sy_call_t *)linux_setfsuid }, /* 138 = linux_setfsuid */ + { 1, (sy_call_t *)linux_setfsgid }, /* 139 = linux_setfsgid */ { 5, (sy_call_t *)linux_llseek }, /* 140 = linux_llseek */ { 3, (sy_call_t *)linux_getdents }, /* 141 = linux_getdents */ { 5, (sy_call_t *)linux_newselect }, /* 142 = linux_newselect */ @@ -161,9 +161,9 @@ struct sysent linux_sysent[] = { { 3, (sy_call_t *)linux_msync }, /* 144 = linux_msync */ { 3, (sy_call_t *)readv }, /* 145 = readv */ { 3, (sy_call_t *)writev }, /* 146 = writev */ - { 0, (sy_call_t *)nosys }, /* 147 = getsid */ - { 0, (sy_call_t *)nosys }, /* 148 = fdatasync */ - { 0, (sy_call_t *)nosys }, /* 149 = _sysctl */ + { 1, (sy_call_t *)linux_getsid }, /* 147 = linux_getsid */ + { 1, (sy_call_t *)linux_fdatasync }, /* 148 = linux_fdatasync */ + { 0, (sy_call_t *)linux_sysctl }, /* 149 = linux_sysctl */ { 2, (sy_call_t *)mlock }, /* 150 = mlock */ { 2, (sy_call_t *)munlock }, /* 151 = munlock */ { 1, (sy_call_t *)mlockall }, /* 152 = mlockall */ @@ -178,31 +178,31 @@ struct sysent linux_sysent[] = { { 2, (sy_call_t *)sched_rr_get_interval }, /* 161 = sched_rr_get_interval */ { 2, (sy_call_t *)nanosleep }, /* 162 = nanosleep */ { 4, (sy_call_t *)linux_mremap }, /* 163 = linux_mremap */ - { 0, (sy_call_t *)nosys }, /* 164 = setresuid */ - { 0, (sy_call_t *)nosys }, /* 165 = getresuid */ - { 0, (sy_call_t *)nosys }, /* 166 = new_vm86 */ - { 0, (sy_call_t *)nosys }, /* 167 = query_module */ + { 3, (sy_call_t *)linux_setresuid }, /* 164 = linux_setresuid */ + { 3, (sy_call_t *)linux_getresuid }, /* 165 = linux_getresuid */ + { 0, (sy_call_t *)linux_vm86 }, /* 166 = linux_vm86 */ + { 0, (sy_call_t *)linux_query_module }, /* 167 = linux_query_module */ { 3, (sy_call_t *)poll }, /* 168 = poll */ - { 0, (sy_call_t *)nosys }, /* 169 = nfsservctl */ - { 0, (sy_call_t *)nosys }, /* 170 = setresgid */ - { 0, (sy_call_t *)nosys }, /* 171 = getresgid */ - { 0, (sy_call_t *)nosys }, /* 172 = prctl */ - { 0, (sy_call_t *)nosys }, /* 173 = rt_sigreturn */ + { 0, (sy_call_t *)linux_nfsservctl }, /* 169 = linux_nfsservctl */ + { 0, (sy_call_t *)linux_setresgid }, /* 170 = linux_setresgid */ + { 0, (sy_call_t *)linux_getresgid }, /* 171 = linux_getresgid */ + { 0, (sy_call_t *)linux_prctl }, /* 172 = linux_prctl */ + { 0, (sy_call_t *)linux_rt_sigreturn }, /* 173 = linux_rt_sigreturn */ { 4, (sy_call_t *)linux_rt_sigaction }, /* 174 = linux_rt_sigaction */ { 4, (sy_call_t *)linux_rt_sigprocmask }, /* 175 = linux_rt_sigprocmask */ - { 0, (sy_call_t *)nosys }, /* 176 = rt_sigpending */ - { 0, (sy_call_t *)nosys }, /* 177 = rt_sigtimedwait */ - { 0, (sy_call_t *)nosys }, /* 178 = rt_sigqueueinfo */ - { 0, (sy_call_t *)nosys }, /* 179 = rt_sigsuspend */ - { 0, (sy_call_t *)nosys }, /* 180 = pread */ - { 0, (sy_call_t *)nosys }, /* 181 = pwrite */ + { 0, (sy_call_t *)linux_rt_sigpending }, /* 176 = linux_rt_sigpending */ + { 0, (sy_call_t *)linux_rt_sigtimedwait }, /* 177 = linux_rt_sigtimedwait */ + { 0, (sy_call_t *)linux_rt_sigqueueinfo }, /* 178 = linux_rt_sigqueueinfo */ + { 0, (sy_call_t *)linux_rt_sigsuspend }, /* 179 = linux_rt_sigsuspend */ + { 0, (sy_call_t *)linux_pread }, /* 180 = linux_pread */ + { 0, (sy_call_t *)linux_pwrite }, /* 181 = linux_pwrite */ { 3, (sy_call_t *)linux_chown }, /* 182 = linux_chown */ { 2, (sy_call_t *)linux_getcwd }, /* 183 = linux_getcwd */ - { 0, (sy_call_t *)nosys }, /* 184 = capget */ - { 0, (sy_call_t *)nosys }, /* 185 = capset */ - { 0, (sy_call_t *)nosys }, /* 186 = sigaltstack */ - { 0, (sy_call_t *)nosys }, /* 187 = sendfile */ - { 0, (sy_call_t *)nosys }, /* 188 = getpmsg */ - { 0, (sy_call_t *)nosys }, /* 189 = putpmsg */ + { 0, (sy_call_t *)linux_capget }, /* 184 = linux_capget */ + { 0, (sy_call_t *)linux_capset }, /* 185 = linux_capset */ + { 0, (sy_call_t *)linux_sigaltstack }, /* 186 = linux_sigaltstack */ + { 0, (sy_call_t *)linux_sendfile }, /* 187 = linux_sendfile */ + { 0, (sy_call_t *)linux_getpmsg }, /* 188 = linux_getpmsg */ + { 0, (sy_call_t *)linux_putpmsg }, /* 189 = linux_putpmsg */ { 0, (sy_call_t *)linux_vfork }, /* 190 = linux_vfork */ }; -- cgit v1.1