summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/amd64/linux32/syscalls.master30
-rw-r--r--sys/i386/linux/syscalls.master67
2 files changed, 55 insertions, 42 deletions
diff --git a/sys/amd64/linux32/syscalls.master b/sys/amd64/linux32/syscalls.master
index 1a8c254..04a5ba0 100644
--- a/sys/amd64/linux32/syscalls.master
+++ b/sys/amd64/linux32/syscalls.master
@@ -121,7 +121,7 @@
62 AUE_NULL STD { int linux_ustat(l_dev_t dev, \
struct l_ustat *ubuf); }
63 AUE_DUP2 NOPROTO { int dup2(u_int from, u_int to); }
-64 AUE_GETPPID NOPROTO { int getppid(void); }
+64 AUE_GETPPID STD { int linux_getppid(void); }
65 AUE_GETPGRP NOPROTO { int getpgrp(void); }
66 AUE_SETSID NOPROTO { int setsid(void); }
67 AUE_NULL STD { int linux_sigaction(l_int sig, \
@@ -213,7 +213,9 @@
118 AUE_FSYNC NOPROTO { int fsync(int fd); }
119 AUE_SIGRETURN STD { int linux_sigreturn( \
struct l_sigframe *sfp); }
-120 AUE_RFORK STD { int linux_clone(l_int flags, void *stack); }
+; linux uses some strange calling convention here so we have to use the dummy arg
+120 AUE_RFORK STD { int linux_clone(l_int flags, void *stack, \
+ void *parent_tidptr, int dummy, void * child_tidptr); }
121 AUE_SYSCTL NOPROTO { int setdomainname(char *name, \
int len); }
122 AUE_NULL STD { int linux_newuname( \
@@ -382,8 +384,7 @@
uintptr_t arg); }
222 AUE_NULL UNIMPL
223 AUE_NULL UNIMPL
-224 AUE_NULL NOPROTO { long linux_getpid(void); } gettid \
- linux_getpid_args void
+224 AUE_NULL STD { long linux_gettid(void); }
225 AUE_NULL UNIMPL linux_readahead
226 AUE_NULL STD { int linux_setxattr(void); }
227 AUE_NULL STD { int linux_lsetxattr(void); }
@@ -397,9 +398,10 @@
235 AUE_NULL STD { int linux_removexattr(void); }
236 AUE_NULL STD { int linux_lremovexattr(void); }
237 AUE_NULL STD { int linux_fremovexattr(void); }
-238 AUE_NULL UNIMPL linux_tkill
+238 AUE_NULL STD { int linux_tkill(int tid, int sig); }
239 AUE_SENDFILE UNIMPL linux_sendfile64
-240 AUE_NULL UNIMPL linux_futex
+240 AUE_NULL STD { int linux_sys_futex(void *uaddr, int op, int val, \
+ struct l_timespec *timeout, void *uaddr2, int val3); }
241 AUE_NULL UNIMPL linux_sched_setaffinity
242 AUE_NULL UNIMPL linux_sched_getaffinity
243 AUE_NULL UNIMPL linux_set_thread_area
@@ -411,26 +413,26 @@
249 AUE_NULL UNIMPL linux_io_cancel
250 AUE_NULL STD { int linux_fadvise64(void); }
251 AUE_NULL UNIMPL
-252 AUE_EXIT NOPROTO { void sys_exit(int rval); } exit_group \
- sys_exit_args void
+252 AUE_EXIT STD { int linux_exit_group(int error_code); }
253 AUE_NULL STD { int linux_lookup_dcookie(void); }
254 AUE_NULL STD { int linux_epoll_create(void); }
255 AUE_NULL STD { int linux_epoll_ctl(void); }
256 AUE_NULL STD { int linux_epoll_wait(void); }
257 AUE_NULL STD { int linux_remap_file_pages(void); }
-258 AUE_NULL STD { int linux_set_tid_address(void); }
+258 AUE_NULL STD { int linux_set_tid_address(int *tidptr); }
259 AUE_NULL STD { int linux_timer_create(void); }
260 AUE_NULL STD { int linux_timer_settime(void); }
261 AUE_NULL STD { int linux_timer_gettime(void); }
262 AUE_NULL STD { int linux_timer_getoverrun(void); }
263 AUE_NULL STD { int linux_timer_delete(void); }
-264 AUE_CLOCK_SETTIME STD { int linux_clock_settime(void); }
-265 AUE_NULL STD { int linux_clock_gettime(void); }
-266 AUE_NULL STD { int linux_clock_getres(void); }
-267 AUE_NULL STD { int linux_clock_nanosleep(void); }
+264 AUE_CLOCK_SETTIME STD { int linux_clock_settime(clockid_t which, struct l_timespec *tp); }
+265 AUE_NULL STD { int linux_clock_gettime(clockid_t which, struct l_timespec *tp); }
+266 AUE_NULL STD { int linux_clock_getres(clockid_t which, struct l_timespec *tp); }
+267 AUE_NULL STD { int linux_clock_nanosleep(clockid_t which, int flags, \
+ struct l_timespec *rqtp, struct l_timespec *rmtp); }
268 AUE_NULL STD { int linux_statfs64(void); }
269 AUE_NULL STD { int linux_fstatfs64(void); }
-270 AUE_NULL STD { int linux_tgkill(void); }
+270 AUE_NULL STD { int linux_tgkill(int tgid, int pid, int sig); }
271 AUE_NULL STD { int linux_utimes(void); }
272 AUE_NULL STD { int linux_fadvise64_64(void); }
273 AUE_NULL UNIMPL
diff --git a/sys/i386/linux/syscalls.master b/sys/i386/linux/syscalls.master
index 7b91632..85013a8 100644
--- a/sys/i386/linux/syscalls.master
+++ b/sys/i386/linux/syscalls.master
@@ -120,10 +120,10 @@
61 AUE_CHROOT NOPROTO { int chroot(char *path); }
62 AUE_NULL STD { int linux_ustat(l_dev_t dev, \
struct l_ustat *ubuf); }
-63 AUE_DUP2 NOPROTO { int dup2(u_int from, u_int to); }
-64 AUE_GETPPID NOPROTO { int getppid(void); }
-65 AUE_GETPGRP NOPROTO { int getpgrp(void); }
-66 AUE_SETSID NOPROTO { int setsid(void); }
+63 AUE_DUP2 NOPROTO { int dup2(u_int from, u_int to); }
+64 AUE_GETPPID STD { int linux_getppid(void); }
+65 AUE_GETPGRP NOPROTO { int getpgrp(void); }
+66 AUE_SETSID NOPROTO { int setsid(void); }
67 AUE_NULL STD { int linux_sigaction(l_int sig, \
l_osigaction_t *nsa, \
l_osigaction_t *osa); }
@@ -214,8 +214,10 @@
118 AUE_FSYNC NOPROTO { int fsync(int fd); }
119 AUE_SIGRETURN STD { int linux_sigreturn( \
struct l_sigframe *sfp); }
-120 AUE_RFORK STD { int linux_clone(l_int flags, void *stack); }
-121 AUE_SYSCTL NOPROTO { int setdomainname(char *name, \
+; linux uses some strange calling convention here so we have to use the dummy arg
+120 AUE_RFORK STD { int linux_clone(l_int flags, void *stack, \
+ void *parent_tidptr, int dummy, void * child_tidptr); }
+121 AUE_SYSCTL NOPROTO { int setdomainname(char *name, \
int len); }
122 AUE_NULL STD { int linux_newuname( \
struct l_new_utsname *buf); }
@@ -400,11 +402,12 @@
237 AUE_NULL STD { int linux_fremovexattr(void); }
238 AUE_NULL STD { int linux_tkill(int tid, int sig); }
239 AUE_SENDFILE UNIMPL linux_sendfile64
-240 AUE_NULL UNIMPL linux_futex
+240 AUE_NULL STD { int linux_sys_futex(void *uaddr, int op, int val, \
+ struct l_timespec *timeout, void *uaddr2, int val3); }
241 AUE_NULL UNIMPL linux_sched_setaffinity
242 AUE_NULL UNIMPL linux_sched_getaffinity
-243 AUE_NULL STD { int linux_set_thread_area(void *entry); }
-244 AUE_NULL UNIMPL linux_get_thread_area
+243 AUE_NULL STD { int linux_set_thread_area(struct l_user_desc *desc); }
+244 AUE_NULL STD { int linux_get_thread_area(struct l_user_desc *desc); }
245 AUE_NULL UNIMPL linux_io_setup
246 AUE_NULL UNIMPL linux_io_destroy
247 AUE_NULL UNIMPL linux_io_getevents
@@ -412,38 +415,46 @@
249 AUE_NULL UNIMPL linux_io_cancel
250 AUE_NULL STD { int linux_fadvise64(void); }
251 AUE_NULL UNIMPL
-252 AUE_EXIT NOPROTO { void sys_exit(int rval); } exit_group \
- sys_exit_args void
+252 AUE_EXIT STD { int linux_exit_group(int error_code); }
253 AUE_NULL STD { int linux_lookup_dcookie(void); }
254 AUE_NULL STD { int linux_epoll_create(void); }
255 AUE_NULL STD { int linux_epoll_ctl(void); }
256 AUE_NULL STD { int linux_epoll_wait(void); }
257 AUE_NULL STD { int linux_remap_file_pages(void); }
-258 AUE_NULL STD { int linux_set_tid_address(void); }
-259 AUE_NULL STD { int linux_timer_create(void); }
-260 AUE_NULL STD { int linux_timer_settime(void); }
-261 AUE_NULL STD { int linux_timer_gettime(void); }
-262 AUE_NULL STD { int linux_timer_getoverrun(void); }
-263 AUE_NULL STD { int linux_timer_delete(void); }
-264 AUE_CLOCK_SETTIME STD { int linux_clock_settime(void); }
-265 AUE_NULL STD { int linux_clock_gettime(void); }
-266 AUE_NULL STD { int linux_clock_getres(void); }
-267 AUE_NULL STD { int linux_clock_nanosleep(void); }
+258 AUE_NULL STD { int linux_set_tid_address(int *tidptr); }
+259 AUE_NULL STD { int linux_timer_create(clockid_t clock_id, \
+ struct sigevent *evp, l_timer_t *timerid); }
+260 AUE_NULL STD { int linux_timer_settime(l_timer_t timerid, \
+ const struct itimerspec *new, struct itimerspec *old); }
+261 AUE_NULL STD { int linux_timer_gettime(l_timer_t timerid, struct itimerspec *setting); }
+262 AUE_NULL STD { int linux_timer_getoverrun(l_timer_t timerid); }
+263 AUE_NULL STD { int linux_timer_delete(l_timer_t timerid); }
+264 AUE_CLOCK_SETTIME STD { int linux_clock_settime(clockid_t which, struct l_timespec *tp); }
+265 AUE_NULL STD { int linux_clock_gettime(clockid_t which, struct l_timespec *tp); }
+266 AUE_NULL STD { int linux_clock_getres(clockid_t which, struct l_timespec *tp); }
+267 AUE_NULL STD { int linux_clock_nanosleep(clockid_t which, int flags, \
+ struct l_timespec *rqtp, struct l_timespec *rmtp); }
268 AUE_NULL STD { int linux_statfs64(void); }
269 AUE_NULL STD { int linux_fstatfs64(void); }
-270 AUE_NULL STD { int linux_tgkill(void); }
+270 AUE_NULL STD { int linux_tgkill(int tgid, int pid, int sig); }
271 AUE_NULL STD { int linux_utimes(void); }
272 AUE_NULL STD { int linux_fadvise64_64(void); }
273 AUE_NULL UNIMPL
274 AUE_NULL STD { int linux_mbind(void); }
275 AUE_NULL STD { int linux_get_mempolicy(void); }
276 AUE_NULL STD { int linux_set_mempolicy(void); }
-277 AUE_NULL STD { int linux_mq_open(void); }
-278 AUE_NULL STD { int linux_mq_unlink(void); }
-279 AUE_NULL STD { int linux_mq_timedsend(void); }
-280 AUE_NULL STD { int linux_mq_timedreceive(void); }
-281 AUE_NULL STD { int linux_mq_notify(void); }
-282 AUE_NULL STD { int linux_mq_getsetattr(void); }
+277 AUE_NULL STD { int linux_mq_open(const char *name, int oflag, mode_t mode, \
+ struct mq_attr *attr); }
+278 AUE_NULL STD { int linux_mq_unlink(const char *name); }
+279 AUE_NULL STD { int linux_mq_timedsend(l_mqd_t mqd, const char *msg_ptr, \
+ size_t msg_len, unsigned int msg_prio, const struct \
+ l_timespec *abs_timeout); }
+280 AUE_NULL STD { int linux_mq_timedreceive(l_mqd_t mqd, char *msg_ptr, \
+ size_t msg_len, unsigned int msg_prio, const struct \
+ l_timespec *abs_timeout); }
+281 AUE_NULL STD { int linux_mq_notify(l_mqd_t mqd, const struct l_timespec *abs_timeout); }
+282 AUE_NULL STD { int linux_mq_getsetattr(l_mqd_t mqd, const struct mq_attr *attr, \
+ struct mq_attr *oattr); }
283 AUE_NULL STD { int linux_kexec_load(void); }
284 AUE_NULL STD { int linux_waitid(void); }
285 AUE_NULL UNIMPL
OpenPOWER on IntegriCloud