diff options
| author | perry <perry@NetBSD.org> | 1998-08-05 00:44:32 +0000 |
|---|---|---|
| committer | perry <perry@NetBSD.org> | 1998-08-05 00:44:32 +0000 |
| commit | f15ade7552142e9cc1bcced64441cb673f565273 (patch) | |
| tree | dd76b7aea18de23fecdf43ada93e00697800d5fc /sys/compat/linux | |
| parent | b791320225eacef932c411015cc0a1f7454e0d5c (diff) | |
enable nanosleep in linux emul, per pr-5906 from Soren S. Jorvang
Diffstat (limited to 'sys/compat/linux')
| -rw-r--r-- | sys/compat/linux/arch/i386/syscalls.master | 5 | ||||
| -rw-r--r-- | sys/compat/linux/i386/syscalls.master | 5 | ||||
| -rw-r--r-- | sys/compat/linux/linux_syscall.h | 5 | ||||
| -rw-r--r-- | sys/compat/linux/linux_syscallargs.h | 3 | ||||
| -rw-r--r-- | sys/compat/linux/linux_syscalls.c | 4 | ||||
| -rw-r--r-- | sys/compat/linux/linux_sysent.c | 6 | ||||
| -rw-r--r-- | sys/compat/linux/syscalls.master | 5 |
7 files changed, 20 insertions, 13 deletions
diff --git a/sys/compat/linux/arch/i386/syscalls.master b/sys/compat/linux/arch/i386/syscalls.master index cecb1a00ffb..ecb40e9da7f 100644 --- a/sys/compat/linux/arch/i386/syscalls.master +++ b/sys/compat/linux/arch/i386/syscalls.master @@ -1,4 +1,4 @@ - $NetBSD: syscalls.master,v 1.23 1998/02/20 18:09:04 mycroft Exp $ + $NetBSD: syscalls.master,v 1.24 1998/08/05 00:44:34 perry Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 @@ -253,6 +253,7 @@ 159 UNIMPL sched_get_priority_max 160 UNIMPL sched_get_priority_min 161 UNIMPL sched_rr_get_interval -162 UNIMPL nanosleep +162 NOARGS { int sys_nanosleep(const struct timespec *rqtp, \ + struct timespec *rmtp); } 163 STD { void *linux_sys_mremap(void *old_address, \ size_t old_size, size_t new_size, u_long flags); } diff --git a/sys/compat/linux/i386/syscalls.master b/sys/compat/linux/i386/syscalls.master index cecb1a00ffb..ecb40e9da7f 100644 --- a/sys/compat/linux/i386/syscalls.master +++ b/sys/compat/linux/i386/syscalls.master @@ -1,4 +1,4 @@ - $NetBSD: syscalls.master,v 1.23 1998/02/20 18:09:04 mycroft Exp $ + $NetBSD: syscalls.master,v 1.24 1998/08/05 00:44:34 perry Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 @@ -253,6 +253,7 @@ 159 UNIMPL sched_get_priority_max 160 UNIMPL sched_get_priority_min 161 UNIMPL sched_rr_get_interval -162 UNIMPL nanosleep +162 NOARGS { int sys_nanosleep(const struct timespec *rqtp, \ + struct timespec *rmtp); } 163 STD { void *linux_sys_mremap(void *old_address, \ size_t old_size, size_t new_size, u_long flags); } diff --git a/sys/compat/linux/linux_syscall.h b/sys/compat/linux/linux_syscall.h index 373a97fb282..7cd155120d3 100644 --- a/sys/compat/linux/linux_syscall.h +++ b/sys/compat/linux/linux_syscall.h @@ -1,4 +1,4 @@ -/* $NetBSD: linux_syscall.h,v 1.29 1998/02/20 18:09:29 mycroft Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.30 1998/08/05 00:44:32 perry Exp $ */ /* * System call numbers. @@ -366,6 +366,9 @@ /* syscall: "munlock" ret: "int" args: "caddr_t" "size_t" */ #define LINUX_SYS_munlock 151 +/* syscall: "nanosleep" ret: "int" args: "const struct timespec *" "struct timespec *" */ +#define LINUX_SYS_nanosleep 162 + /* syscall: "mremap" ret: "void *" args: "void *" "size_t" "size_t" "u_long" */ #define LINUX_SYS_mremap 163 diff --git a/sys/compat/linux/linux_syscallargs.h b/sys/compat/linux/linux_syscallargs.h index 4de47ad9fd0..e0619d2bf41 100644 --- a/sys/compat/linux/linux_syscallargs.h +++ b/sys/compat/linux/linux_syscallargs.h @@ -1,4 +1,4 @@ -/* $NetBSD: linux_syscallargs.h,v 1.28 1998/02/20 18:09:29 mycroft Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.29 1998/08/05 00:44:32 perry Exp $ */ /* * System call argument lists. @@ -467,4 +467,5 @@ int linux_sys_fdatasync __P((struct proc *, void *, register_t *)); int linux_sys___sysctl __P((struct proc *, void *, register_t *)); int sys_mlock __P((struct proc *, void *, register_t *)); int sys_munlock __P((struct proc *, void *, register_t *)); +int sys_nanosleep __P((struct proc *, void *, register_t *)); int linux_sys_mremap __P((struct proc *, void *, register_t *)); diff --git a/sys/compat/linux/linux_syscalls.c b/sys/compat/linux/linux_syscalls.c index f82637f7829..c5e81afcdb6 100644 --- a/sys/compat/linux/linux_syscalls.c +++ b/sys/compat/linux/linux_syscalls.c @@ -1,4 +1,4 @@ -/* $NetBSD: linux_syscalls.c,v 1.27 1998/02/20 18:09:29 mycroft Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.28 1998/08/05 00:44:33 perry Exp $ */ /* * System call names. @@ -194,6 +194,6 @@ char *linux_syscallnames[] = { "#159 (unimplemented sched_get_priority_max)", /* 159 = unimplemented sched_get_priority_max */ "#160 (unimplemented sched_get_priority_min)", /* 160 = unimplemented sched_get_priority_min */ "#161 (unimplemented sched_rr_get_interval)", /* 161 = unimplemented sched_rr_get_interval */ - "#162 (unimplemented nanosleep)", /* 162 = unimplemented nanosleep */ + "nanosleep", /* 162 = nanosleep */ "mremap", /* 163 = mremap */ }; diff --git a/sys/compat/linux/linux_sysent.c b/sys/compat/linux/linux_sysent.c index 805210ef2a3..17ea656e643 100644 --- a/sys/compat/linux/linux_sysent.c +++ b/sys/compat/linux/linux_sysent.c @@ -1,4 +1,4 @@ -/* $NetBSD: linux_sysent.c,v 1.30 1998/02/20 18:09:30 mycroft Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.31 1998/08/05 00:44:33 perry Exp $ */ /* * System call switch table. @@ -359,8 +359,8 @@ struct sysent linux_sysent[] = { sys_nosys }, /* 160 = unimplemented sched_get_priority_min */ { 0, 0, sys_nosys }, /* 161 = unimplemented sched_rr_get_interval */ - { 0, 0, - sys_nosys }, /* 162 = unimplemented nanosleep */ + { 2, s(struct sys_nanosleep_args), + sys_nanosleep }, /* 162 = nanosleep */ { 4, s(struct linux_sys_mremap_args), linux_sys_mremap }, /* 163 = mremap */ }; diff --git a/sys/compat/linux/syscalls.master b/sys/compat/linux/syscalls.master index cecb1a00ffb..ecb40e9da7f 100644 --- a/sys/compat/linux/syscalls.master +++ b/sys/compat/linux/syscalls.master @@ -1,4 +1,4 @@ - $NetBSD: syscalls.master,v 1.23 1998/02/20 18:09:04 mycroft Exp $ + $NetBSD: syscalls.master,v 1.24 1998/08/05 00:44:34 perry Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 @@ -253,6 +253,7 @@ 159 UNIMPL sched_get_priority_max 160 UNIMPL sched_get_priority_min 161 UNIMPL sched_rr_get_interval -162 UNIMPL nanosleep +162 NOARGS { int sys_nanosleep(const struct timespec *rqtp, \ + struct timespec *rmtp); } 163 STD { void *linux_sys_mremap(void *old_address, \ size_t old_size, size_t new_size, u_long flags); } |
