diff options
Diffstat (limited to 'sys/i386/linux')
-rw-r--r-- | sys/i386/linux/linux_proto.h | 2 | ||||
-rw-r--r-- | sys/i386/linux/linux_syscall.h | 15 | ||||
-rw-r--r-- | sys/i386/linux/linux_sysent.c | 16 | ||||
-rw-r--r-- | sys/i386/linux/syscalls.master | 28 |
4 files changed, 59 insertions, 2 deletions
diff --git a/sys/i386/linux/linux_proto.h b/sys/i386/linux/linux_proto.h index 698cc7f..4383dcf 100644 --- a/sys/i386/linux/linux_proto.h +++ b/sys/i386/linux/linux_proto.h @@ -10,6 +10,8 @@ #include <sys/signal.h> +struct proc; + struct linux_setup_args { int dummy; }; diff --git a/sys/i386/linux/linux_syscall.h b/sys/i386/linux/linux_syscall.h index a54706f..7d8404c 100644 --- a/sys/i386/linux/linux_syscall.h +++ b/sys/i386/linux/linux_syscall.h @@ -148,4 +148,17 @@ #define LINUX_SYS_linux_msync 144 #define LINUX_SYS_readv 145 #define LINUX_SYS_writev 146 -#define LINUX_SYS_MAXSYSCALL 147 +#define LINUX_SYS_mlock 150 +#define LINUX_SYS_munlock 151 +#define LINUX_SYS_mlockall 152 +#define LINUX_SYS_munlockall 153 +#define LINUX_SYS_sched_setparam 154 +#define LINUX_SYS_sched_getparam 155 +#define LINUX_SYS_sched_setscheduler 156 +#define LINUX_SYS_sched_getscheduler 157 +#define LINUX_SYS_sched_yield 158 +#define LINUX_SYS_sched_get_priority_max 159 +#define LINUX_SYS_sched_get_priority_min 160 +#define LINUX_SYS_sched_rr_get_interval 161 +#define LINUX_SYS_nanosleep 162 +#define LINUX_SYS_MAXSYSCALL 163 diff --git a/sys/i386/linux/linux_sysent.c b/sys/i386/linux/linux_sysent.c index 2f79d4d..512b66a 100644 --- a/sys/i386/linux/linux_sysent.c +++ b/sys/i386/linux/linux_sysent.c @@ -168,4 +168,20 @@ 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 */ + { 2, (sy_call_t *)mlock }, /* 150 = mlock */ + { 2, (sy_call_t *)munlock }, /* 151 = munlock */ + { 1, (sy_call_t *)mlockall }, /* 152 = mlockall */ + { 0, (sy_call_t *)munlockall }, /* 153 = munlockall */ + { 2, (sy_call_t *)sched_setparam }, /* 154 = sched_setparam */ + { 2, (sy_call_t *)sched_getparam }, /* 155 = sched_getparam */ + { 3, (sy_call_t *)sched_setscheduler }, /* 156 = sched_setscheduler */ + { 1, (sy_call_t *)sched_getscheduler }, /* 157 = sched_getscheduler */ + { 0, (sy_call_t *)sched_yield }, /* 158 = sched_yield */ + { 1, (sy_call_t *)sched_get_priority_max }, /* 159 = sched_get_priority_max */ + { 1, (sy_call_t *)sched_get_priority_min }, /* 160 = sched_get_priority_min */ + { 2, (sy_call_t *)sched_rr_get_interval }, /* 161 = sched_rr_get_interval */ + { 2, (sy_call_t *)nanosleep }, /* 162 = nanosleep */ }; diff --git a/sys/i386/linux/syscalls.master b/sys/i386/linux/syscalls.master index 910710a..b1ae549 100644 --- a/sys/i386/linux/syscalls.master +++ b/sys/i386/linux/syscalls.master @@ -1,4 +1,4 @@ - $Id: syscalls.master,v 1.5 1997/04/09 15:34:09 bde Exp $ + $Id: syscalls.master,v 1.6 1997/12/17 03:12:35 kato Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -207,3 +207,29 @@ u_int iovcnt); } 146 NOPROTO LINUX { int writev(int fd, struct iovec *iovp, \ u_int iovcnt); } + +; Turn on getsid after checking that it matches. + +147 UNIMPL LINUX getsid +148 UNIMPL LINUX fdatasync +149 UNIMPL LINUX _sysctl + +150 NOPROTO BSD { int mlock(const void *addr, size_t len); } +151 NOPROTO BSD { int munlock(const void *addr, size_t len); } +152 NOPROTO BSD { int mlockall(int how); } +153 NOPROTO BSD { int munlockall(void); } + + +154 NOPROTO POSIX { int sched_setparam (pid_t pid, const struct sched_param *param); } +155 NOPROTO POSIX { int sched_getparam (pid_t pid, struct sched_param *param); } + +156 NOPROTO POSIX { int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); } +157 NOPROTO POSIX { int sched_getscheduler (pid_t pid); } + +158 NOPROTO POSIX { int sched_yield (void); } +159 NOPROTO POSIX { int sched_get_priority_max (int policy); } +160 NOPROTO POSIX { int sched_get_priority_min (int policy); } +161 NOPROTO POSIX { int sched_rr_get_interval (pid_t pid, struct timespec *interval); } + +162 NOPROTO POSIX { int nanosleep(const struct timespec *rqtp, \ + struct timespec *rmtp); } |