diff --git a/sys/compat/linux/arch/alpha/linux_syscall.h b/sys/compat/linux/arch/alpha/linux_syscall.h index 14de2094e8ff..1f3b785ff72e 100644 --- a/sys/compat/linux/arch/alpha/linux_syscall.h +++ b/sys/compat/linux/arch/alpha/linux_syscall.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.110 2020/04/26 19:20:18 thorpej Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.110.2.1 2020/12/15 14:07:51 thorpej Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.97 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.97.2.1 2020/12/15 14:07:20 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -624,6 +624,21 @@ /* syscall: "fadvise64" ret: "int" args: "int" "off_t" "size_t" "int" */ #define LINUX_SYS_fadvise64 413 +/* syscall: "timer_create" ret: "int" args: "clockid_t" "struct linux_sigevent *" "timer_t *" */ +#define LINUX_SYS_timer_create 414 + +/* syscall: "timer_settime" ret: "int" args: "timer_t" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */ +#define LINUX_SYS_timer_settime 415 + +/* syscall: "timer_gettime" ret: "int" args: "timer_t" "struct linux_itimerspec *" */ +#define LINUX_SYS_timer_gettime 416 + +/* syscall: "timer_getoverrun" ret: "int" args: "timer_t" */ +#define LINUX_SYS_timer_getoverrun 417 + +/* syscall: "timer_delete" ret: "int" args: "timer_t" */ +#define LINUX_SYS_timer_delete 418 + /* syscall: "clock_settime" ret: "int" args: "clockid_t" "struct linux_timespec *" */ #define LINUX_SYS_clock_settime 419 @@ -699,12 +714,27 @@ /* syscall: "utimensat" ret: "int" args: "int" "const char *" "struct linux_timespec *" "int" */ #define LINUX_SYS_utimensat 475 +/* syscall: "eventfd" ret: "int" args: "unsigned int" */ +#define LINUX_SYS_eventfd 478 + /* syscall: "recvmmsg" ret: "int" args: "int" "struct linux_mmsghdr *" "unsigned int" "unsigned int" "struct timespec *" */ #define LINUX_SYS_recvmmsg 479 /* syscall: "fallocate" ret: "int" args: "int" "int" "off_t" "off_t" */ #define LINUX_SYS_fallocate 480 +/* syscall: "timerfd_create" ret: "int" args: "clockid_t" "int" */ +#define LINUX_SYS_timerfd_create 481 + +/* syscall: "timerfd_settime" ret: "int" args: "int" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */ +#define LINUX_SYS_timerfd_settime 482 + +/* syscall: "timerfd_gettime" ret: "int" args: "int" "struct linux_itimerspec *" */ +#define LINUX_SYS_timerfd_gettime 483 + +/* syscall: "eventfd2" ret: "int" args: "unsigned int" "int" */ +#define LINUX_SYS_eventfd2 485 + /* syscall: "dup3" ret: "int" args: "int" "int" "int" */ #define LINUX_SYS_dup3 487 diff --git a/sys/compat/linux/arch/alpha/linux_syscallargs.h b/sys/compat/linux/arch/alpha/linux_syscallargs.h index 3d2bb4b79605..3c1c5b85752d 100644 --- a/sys/compat/linux/arch/alpha/linux_syscallargs.h +++ b/sys/compat/linux/arch/alpha/linux_syscallargs.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.109 2020/04/26 19:20:18 thorpej Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.109.2.1 2020/12/15 14:07:51 thorpej Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.97 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.97.2.1 2020/12/15 14:07:20 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -956,6 +956,31 @@ struct linux_sys_fadvise64_args { }; check_syscall_args(linux_sys_fadvise64) +struct linux_sys_timer_create_args { + syscallarg(clockid_t) clockid; + syscallarg(struct linux_sigevent *) evp; + syscallarg(timer_t *) timerid; +}; +check_syscall_args(linux_sys_timer_create) + +struct linux_sys_timer_settime_args { + syscallarg(timer_t) timerid; + syscallarg(int) flags; + syscallarg(const struct linux_itimerspec *) tim; + syscallarg(struct linux_itimerspec *) otim; +}; +check_syscall_args(linux_sys_timer_settime) + +struct linux_sys_timer_gettime_args { + syscallarg(timer_t) timerid; + syscallarg(struct linux_itimerspec *) tim; +}; +check_syscall_args(linux_sys_timer_gettime) + +struct sys_timer_getoverrun_args; + +struct sys_timer_delete_args; + struct linux_sys_clock_settime_args { syscallarg(clockid_t) which; syscallarg(struct linux_timespec *) tp; @@ -1108,6 +1133,11 @@ struct linux_sys_utimensat_args { }; check_syscall_args(linux_sys_utimensat) +struct linux_sys_eventfd_args { + syscallarg(unsigned int) initval; +}; +check_syscall_args(linux_sys_eventfd) + struct linux_sys_recvmmsg_args { syscallarg(int) s; syscallarg(struct linux_mmsghdr *) msgvec; @@ -1125,6 +1155,32 @@ struct linux_sys_fallocate_args { }; check_syscall_args(linux_sys_fallocate) +struct linux_sys_timerfd_create_args { + syscallarg(clockid_t) clock_id; + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_timerfd_create) + +struct linux_sys_timerfd_settime_args { + syscallarg(int) fd; + syscallarg(int) flags; + syscallarg(const struct linux_itimerspec *) new_value; + syscallarg(struct linux_itimerspec *) old_value; +}; +check_syscall_args(linux_sys_timerfd_settime) + +struct linux_sys_timerfd_gettime_args { + syscallarg(int) fd; + syscallarg(struct linux_itimerspec *) curr_value; +}; +check_syscall_args(linux_sys_timerfd_gettime) + +struct linux_sys_eventfd2_args { + syscallarg(unsigned int) initval; + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_eventfd2) + struct linux_sys_dup3_args { syscallarg(int) from; syscallarg(int) to; @@ -1570,6 +1626,16 @@ int linux_sys_set_tid_address(struct lwp *, const struct linux_sys_set_tid_addre int linux_sys_fadvise64(struct lwp *, const struct linux_sys_fadvise64_args *, register_t *); +int linux_sys_timer_create(struct lwp *, const struct linux_sys_timer_create_args *, register_t *); + +int linux_sys_timer_settime(struct lwp *, const struct linux_sys_timer_settime_args *, register_t *); + +int linux_sys_timer_gettime(struct lwp *, const struct linux_sys_timer_gettime_args *, register_t *); + +int sys_timer_getoverrun(struct lwp *, const struct sys_timer_getoverrun_args *, register_t *); + +int sys_timer_delete(struct lwp *, const struct sys_timer_delete_args *, register_t *); + int linux_sys_clock_settime(struct lwp *, const struct linux_sys_clock_settime_args *, register_t *); int linux_sys_clock_gettime(struct lwp *, const struct linux_sys_clock_gettime_args *, register_t *); @@ -1620,10 +1686,20 @@ int sys___futex_get_robust_list(struct lwp *, const struct sys___futex_get_robus int linux_sys_utimensat(struct lwp *, const struct linux_sys_utimensat_args *, register_t *); +int linux_sys_eventfd(struct lwp *, const struct linux_sys_eventfd_args *, register_t *); + int linux_sys_recvmmsg(struct lwp *, const struct linux_sys_recvmmsg_args *, register_t *); int linux_sys_fallocate(struct lwp *, const struct linux_sys_fallocate_args *, register_t *); +int linux_sys_timerfd_create(struct lwp *, const struct linux_sys_timerfd_create_args *, register_t *); + +int linux_sys_timerfd_settime(struct lwp *, const struct linux_sys_timerfd_settime_args *, register_t *); + +int linux_sys_timerfd_gettime(struct lwp *, const struct linux_sys_timerfd_gettime_args *, register_t *); + +int linux_sys_eventfd2(struct lwp *, const struct linux_sys_eventfd2_args *, register_t *); + int linux_sys_dup3(struct lwp *, const struct linux_sys_dup3_args *, register_t *); int linux_sys_pipe2(struct lwp *, const struct linux_sys_pipe2_args *, register_t *); diff --git a/sys/compat/linux/arch/alpha/linux_syscalls.c b/sys/compat/linux/arch/alpha/linux_syscalls.c index 684cf5dd854d..85a98ce7de2d 100644 --- a/sys/compat/linux/arch/alpha/linux_syscalls.c +++ b/sys/compat/linux/arch/alpha/linux_syscalls.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.111 2020/04/26 19:20:18 thorpej Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.111.2.1 2020/12/15 14:07:51 thorpej Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.97 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.97.2.1 2020/12/15 14:07:20 thorpej Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.111 2020/04/26 19:20:18 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.111.2.1 2020/12/15 14:07:51 thorpej Exp $"); #if defined(_KERNEL_OPT) #if defined(_KERNEL_OPT) @@ -473,11 +473,11 @@ const char *const linux_syscallnames[] = { /* 411 */ "set_tid_address", /* 412 */ "#412 (unimplemented restart_syscall)", /* 413 */ "fadvise64", - /* 414 */ "#414 (unimplemented timer_create)", - /* 415 */ "#415 (unimplemented timer_settime)", - /* 416 */ "#416 (unimplemented timer_gettime)", - /* 417 */ "#417 (unimplemented timer_getoverrun)", - /* 418 */ "#418 (unimplemented timer_delete)", + /* 414 */ "timer_create", + /* 415 */ "timer_settime", + /* 416 */ "timer_gettime", + /* 417 */ "timer_getoverrun", + /* 418 */ "timer_delete", /* 419 */ "clock_settime", /* 420 */ "clock_gettime", /* 421 */ "clock_getres", @@ -537,14 +537,14 @@ const char *const linux_syscallnames[] = { /* 475 */ "utimensat", /* 476 */ "#476 (unimplemented signalfd)", /* 477 */ "#477 (unimplemented timerfd)", - /* 478 */ "#478 (unimplemented eventfd)", + /* 478 */ "eventfd", /* 479 */ "recvmmsg", /* 480 */ "fallocate", - /* 481 */ "#481 (unimplemented timerfd_create)", - /* 482 */ "#482 (unimplemented timerfd_settime)", - /* 483 */ "#483 (unimplemented timerfd_gettime)", + /* 481 */ "timerfd_create", + /* 482 */ "timerfd_settime", + /* 483 */ "timerfd_gettime", /* 484 */ "#484 (unimplemented signalfd4)", - /* 485 */ "#485 (unimplemented eventfd2)", + /* 485 */ "eventfd2", /* 486 */ "#486 (unimplemented epoll_create1)", /* 487 */ "dup3", /* 488 */ "pipe2", @@ -1014,11 +1014,11 @@ const char *const altlinux_syscallnames[] = { /* 411 */ NULL, /* set_tid_address */ /* 412 */ NULL, /* unimplemented restart_syscall */ /* 413 */ NULL, /* fadvise64 */ - /* 414 */ NULL, /* unimplemented timer_create */ - /* 415 */ NULL, /* unimplemented timer_settime */ - /* 416 */ NULL, /* unimplemented timer_gettime */ - /* 417 */ NULL, /* unimplemented timer_getoverrun */ - /* 418 */ NULL, /* unimplemented timer_delete */ + /* 414 */ NULL, /* timer_create */ + /* 415 */ NULL, /* timer_settime */ + /* 416 */ NULL, /* timer_gettime */ + /* 417 */ NULL, /* timer_getoverrun */ + /* 418 */ NULL, /* timer_delete */ /* 419 */ NULL, /* clock_settime */ /* 420 */ NULL, /* clock_gettime */ /* 421 */ NULL, /* clock_getres */ @@ -1078,14 +1078,14 @@ const char *const altlinux_syscallnames[] = { /* 475 */ NULL, /* utimensat */ /* 476 */ NULL, /* unimplemented signalfd */ /* 477 */ NULL, /* unimplemented timerfd */ - /* 478 */ NULL, /* unimplemented eventfd */ + /* 478 */ NULL, /* eventfd */ /* 479 */ NULL, /* recvmmsg */ /* 480 */ NULL, /* fallocate */ - /* 481 */ NULL, /* unimplemented timerfd_create */ - /* 482 */ NULL, /* unimplemented timerfd_settime */ - /* 483 */ NULL, /* unimplemented timerfd_gettime */ + /* 481 */ NULL, /* timerfd_create */ + /* 482 */ NULL, /* timerfd_settime */ + /* 483 */ NULL, /* timerfd_gettime */ /* 484 */ NULL, /* unimplemented signalfd4 */ - /* 485 */ NULL, /* unimplemented eventfd2 */ + /* 485 */ NULL, /* eventfd2 */ /* 486 */ NULL, /* unimplemented epoll_create1 */ /* 487 */ NULL, /* dup3 */ /* 488 */ NULL, /* pipe2 */ diff --git a/sys/compat/linux/arch/alpha/linux_sysent.c b/sys/compat/linux/arch/alpha/linux_sysent.c index 77f66b5e7a93..355ca65b746c 100644 --- a/sys/compat/linux/arch/alpha/linux_sysent.c +++ b/sys/compat/linux/arch/alpha/linux_sysent.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.110 2020/04/26 19:20:18 thorpej Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.110.2.1 2020/12/15 14:07:51 thorpej Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.97 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.97.2.1 2020/12/15 14:07:20 thorpej Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.110 2020/04/26 19:20:18 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.110.2.1 2020/12/15 14:07:51 thorpej Exp $"); #if defined(_KERNEL_OPT) #include "opt_sysv.h" @@ -1655,20 +1655,28 @@ struct sysent linux_sysent[] = { .sy_call = (sy_call_t *)linux_sys_fadvise64 }, /* 413 = fadvise64 */ { - .sy_call = linux_sys_nosys, - }, /* 414 = filler */ + ns(struct linux_sys_timer_create_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_create + }, /* 414 = timer_create */ { - .sy_call = linux_sys_nosys, - }, /* 415 = filler */ + ns(struct linux_sys_timer_settime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_settime + }, /* 415 = timer_settime */ { - .sy_call = linux_sys_nosys, - }, /* 416 = filler */ + ns(struct linux_sys_timer_gettime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_gettime + }, /* 416 = timer_gettime */ { - .sy_call = linux_sys_nosys, - }, /* 417 = filler */ + ns(struct sys_timer_getoverrun_args), + .sy_call = (sy_call_t *)sys_timer_getoverrun + }, /* 417 = timer_getoverrun */ { - .sy_call = linux_sys_nosys, - }, /* 418 = filler */ + ns(struct sys_timer_delete_args), + .sy_call = (sy_call_t *)sys_timer_delete + }, /* 418 = timer_delete */ { ns(struct linux_sys_clock_settime_args), .sy_flags = SYCALL_ARG_PTR, @@ -1896,8 +1904,9 @@ struct sysent linux_sysent[] = { .sy_call = linux_sys_nosys, }, /* 477 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 478 = filler */ + ns(struct linux_sys_eventfd_args), + .sy_call = (sy_call_t *)linux_sys_eventfd + }, /* 478 = eventfd */ { ns(struct linux_sys_recvmmsg_args), .sy_flags = SYCALL_ARG_PTR, @@ -1909,20 +1918,26 @@ struct sysent linux_sysent[] = { .sy_call = (sy_call_t *)linux_sys_fallocate }, /* 480 = fallocate */ { - .sy_call = linux_sys_nosys, - }, /* 481 = filler */ + ns(struct linux_sys_timerfd_create_args), + .sy_call = (sy_call_t *)linux_sys_timerfd_create + }, /* 481 = timerfd_create */ { - .sy_call = linux_sys_nosys, - }, /* 482 = filler */ + ns(struct linux_sys_timerfd_settime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timerfd_settime + }, /* 482 = timerfd_settime */ { - .sy_call = linux_sys_nosys, - }, /* 483 = filler */ + ns(struct linux_sys_timerfd_gettime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timerfd_gettime + }, /* 483 = timerfd_gettime */ { .sy_call = linux_sys_nosys, }, /* 484 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 485 = filler */ + ns(struct linux_sys_eventfd2_args), + .sy_call = (sy_call_t *)linux_sys_eventfd2 + }, /* 485 = eventfd2 */ { .sy_call = linux_sys_nosys, }, /* 486 = filler */ diff --git a/sys/compat/linux/arch/amd64/linux_syscall.h b/sys/compat/linux/arch/amd64/linux_syscall.h index b8dc722dcc42..321ba50e4e43 100644 --- a/sys/compat/linux/arch/amd64/linux_syscall.h +++ b/sys/compat/linux/arch/amd64/linux_syscall.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.71 2020/04/26 19:20:18 thorpej Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.71.2.1 2020/12/15 14:07:51 thorpej Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.62 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.62.2.1 2020/12/15 14:07:20 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -573,6 +573,21 @@ /* syscall: "fadvise64" ret: "int" args: "int" "off_t" "size_t" "int" */ #define LINUX_SYS_fadvise64 221 +/* syscall: "timer_create" ret: "int" args: "clockid_t" "struct linux_sigevent *" "timer_t *" */ +#define LINUX_SYS_timer_create 222 + +/* syscall: "timer_settime" ret: "int" args: "timer_t" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */ +#define LINUX_SYS_timer_settime 223 + +/* syscall: "timer_gettime" ret: "int" args: "timer_t" "struct linux_itimerspec *" */ +#define LINUX_SYS_timer_gettime 224 + +/* syscall: "timer_getoverrun" ret: "int" args: "timer_t" */ +#define LINUX_SYS_timer_getoverrun 225 + +/* syscall: "timer_delete" ret: "int" args: "timer_t" */ +#define LINUX_SYS_timer_delete 226 + /* syscall: "clock_settime" ret: "int" args: "clockid_t" "struct linux_timespec *" */ #define LINUX_SYS_clock_settime 227 @@ -645,12 +660,27 @@ /* syscall: "utimensat" ret: "int" args: "int" "const char *" "struct linux_timespec *" "int" */ #define LINUX_SYS_utimensat 280 +/* syscall: "timerfd_create" ret: "int" args: "clockid_t" "int" */ +#define LINUX_SYS_timerfd_create 283 + +/* syscall: "eventfd" ret: "int" args: "unsigned int" */ +#define LINUX_SYS_eventfd 284 + /* syscall: "fallocate" ret: "int" args: "int" "int" "off_t" "off_t" */ #define LINUX_SYS_fallocate 285 +/* syscall: "timerfd_settime" ret: "int" args: "int" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */ +#define LINUX_SYS_timerfd_settime 286 + +/* syscall: "timerfd_gettime" ret: "int" args: "int" "struct linux_itimerspec *" */ +#define LINUX_SYS_timerfd_gettime 287 + /* syscall: "accept4" ret: "int" args: "int" "struct osockaddr *" "int *" "int" */ #define LINUX_SYS_accept4 288 +/* syscall: "eventfd2" ret: "int" args: "unsigned int" "int" */ +#define LINUX_SYS_eventfd2 290 + /* syscall: "dup3" ret: "int" args: "int" "int" "int" */ #define LINUX_SYS_dup3 292 diff --git a/sys/compat/linux/arch/amd64/linux_syscallargs.h b/sys/compat/linux/arch/amd64/linux_syscallargs.h index 841d012eb4ca..93d9f977a1ff 100644 --- a/sys/compat/linux/arch/amd64/linux_syscallargs.h +++ b/sys/compat/linux/arch/amd64/linux_syscallargs.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.71 2020/04/26 19:20:18 thorpej Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.71.2.1 2020/12/15 14:07:51 thorpej Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.62 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.62.2.1 2020/12/15 14:07:20 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -857,6 +857,31 @@ struct linux_sys_fadvise64_args { }; check_syscall_args(linux_sys_fadvise64) +struct linux_sys_timer_create_args { + syscallarg(clockid_t) clockid; + syscallarg(struct linux_sigevent *) evp; + syscallarg(timer_t *) timerid; +}; +check_syscall_args(linux_sys_timer_create) + +struct linux_sys_timer_settime_args { + syscallarg(timer_t) timerid; + syscallarg(int) flags; + syscallarg(const struct linux_itimerspec *) tim; + syscallarg(struct linux_itimerspec *) otim; +}; +check_syscall_args(linux_sys_timer_settime) + +struct linux_sys_timer_gettime_args { + syscallarg(timer_t) timerid; + syscallarg(struct linux_itimerspec *) tim; +}; +check_syscall_args(linux_sys_timer_gettime) + +struct sys_timer_getoverrun_args; + +struct sys_timer_delete_args; + struct linux_sys_clock_settime_args { syscallarg(clockid_t) which; syscallarg(struct linux_timespec *) tp; @@ -998,6 +1023,17 @@ struct linux_sys_utimensat_args { }; check_syscall_args(linux_sys_utimensat) +struct linux_sys_timerfd_create_args { + syscallarg(clockid_t) clock_id; + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_timerfd_create) + +struct linux_sys_eventfd_args { + syscallarg(unsigned int) initval; +}; +check_syscall_args(linux_sys_eventfd) + struct linux_sys_fallocate_args { syscallarg(int) fd; syscallarg(int) mode; @@ -1006,6 +1042,20 @@ struct linux_sys_fallocate_args { }; check_syscall_args(linux_sys_fallocate) +struct linux_sys_timerfd_settime_args { + syscallarg(int) fd; + syscallarg(int) flags; + syscallarg(const struct linux_itimerspec *) new_value; + syscallarg(struct linux_itimerspec *) old_value; +}; +check_syscall_args(linux_sys_timerfd_settime) + +struct linux_sys_timerfd_gettime_args { + syscallarg(int) fd; + syscallarg(struct linux_itimerspec *) curr_value; +}; +check_syscall_args(linux_sys_timerfd_gettime) + struct linux_sys_accept4_args { syscallarg(int) s; syscallarg(struct osockaddr *) name; @@ -1014,6 +1064,12 @@ struct linux_sys_accept4_args { }; check_syscall_args(linux_sys_accept4) +struct linux_sys_eventfd2_args { + syscallarg(unsigned int) initval; + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_eventfd2) + struct linux_sys_dup3_args { syscallarg(int) from; syscallarg(int) to; @@ -1427,6 +1483,16 @@ int linux_sys_set_tid_address(struct lwp *, const struct linux_sys_set_tid_addre int linux_sys_fadvise64(struct lwp *, const struct linux_sys_fadvise64_args *, register_t *); +int linux_sys_timer_create(struct lwp *, const struct linux_sys_timer_create_args *, register_t *); + +int linux_sys_timer_settime(struct lwp *, const struct linux_sys_timer_settime_args *, register_t *); + +int linux_sys_timer_gettime(struct lwp *, const struct linux_sys_timer_gettime_args *, register_t *); + +int sys_timer_getoverrun(struct lwp *, const struct sys_timer_getoverrun_args *, register_t *); + +int sys_timer_delete(struct lwp *, const struct sys_timer_delete_args *, register_t *); + int linux_sys_clock_settime(struct lwp *, const struct linux_sys_clock_settime_args *, register_t *); int linux_sys_clock_gettime(struct lwp *, const struct linux_sys_clock_gettime_args *, register_t *); @@ -1475,10 +1541,20 @@ int sys___futex_get_robust_list(struct lwp *, const struct sys___futex_get_robus int linux_sys_utimensat(struct lwp *, const struct linux_sys_utimensat_args *, register_t *); +int linux_sys_timerfd_create(struct lwp *, const struct linux_sys_timerfd_create_args *, register_t *); + +int linux_sys_eventfd(struct lwp *, const struct linux_sys_eventfd_args *, register_t *); + int linux_sys_fallocate(struct lwp *, const struct linux_sys_fallocate_args *, register_t *); +int linux_sys_timerfd_settime(struct lwp *, const struct linux_sys_timerfd_settime_args *, register_t *); + +int linux_sys_timerfd_gettime(struct lwp *, const struct linux_sys_timerfd_gettime_args *, register_t *); + int linux_sys_accept4(struct lwp *, const struct linux_sys_accept4_args *, register_t *); +int linux_sys_eventfd2(struct lwp *, const struct linux_sys_eventfd2_args *, register_t *); + int linux_sys_dup3(struct lwp *, const struct linux_sys_dup3_args *, register_t *); int linux_sys_pipe2(struct lwp *, const struct linux_sys_pipe2_args *, register_t *); diff --git a/sys/compat/linux/arch/amd64/linux_syscalls.c b/sys/compat/linux/arch/amd64/linux_syscalls.c index 966e84f75e91..d0978a666c92 100644 --- a/sys/compat/linux/arch/amd64/linux_syscalls.c +++ b/sys/compat/linux/arch/amd64/linux_syscalls.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.71 2020/04/26 19:20:18 thorpej Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.71.2.1 2020/12/15 14:07:51 thorpej Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.62 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.62.2.1 2020/12/15 14:07:20 thorpej Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.71 2020/04/26 19:20:18 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.71.2.1 2020/12/15 14:07:51 thorpej Exp $"); #if defined(_KERNEL_OPT) #if defined(_KERNEL_OPT) @@ -288,11 +288,11 @@ const char *const linux_syscallnames[] = { /* 219 */ "#219 (unimplemented restart_syscall)", /* 220 */ "#220 (unimplemented semtimedop)", /* 221 */ "fadvise64", - /* 222 */ "#222 (unimplemented timer_create)", - /* 223 */ "#223 (unimplemented timer_settime)", - /* 224 */ "#224 (unimplemented timer_gettime)", - /* 225 */ "#225 (unimplemented timer_getoverrun)", - /* 226 */ "#226 (unimplemented timer_delete)", + /* 222 */ "timer_create", + /* 223 */ "timer_settime", + /* 224 */ "timer_gettime", + /* 225 */ "timer_getoverrun", + /* 226 */ "timer_delete", /* 227 */ "clock_settime", /* 228 */ "clock_gettime", /* 229 */ "clock_getres", @@ -349,14 +349,14 @@ const char *const linux_syscallnames[] = { /* 280 */ "utimensat", /* 281 */ "#281 (unimplemented epoll_pwait)", /* 282 */ "#282 (unimplemented signalfd)", - /* 283 */ "#283 (unimplemented timerfd_create)", - /* 284 */ "#284 (unimplemented eventfd)", + /* 283 */ "timerfd_create", + /* 284 */ "eventfd", /* 285 */ "fallocate", - /* 286 */ "#286 (unimplemented timerfd_settime)", - /* 287 */ "#287 (unimplemented timerfd_gettime)", + /* 286 */ "timerfd_settime", + /* 287 */ "timerfd_gettime", /* 288 */ "accept4", /* 289 */ "#289 (unimplemented signalfd4)", - /* 290 */ "#290 (unimplemented eventfd2)", + /* 290 */ "eventfd2", /* 291 */ "#291 (unimplemented epoll_create1)", /* 292 */ "dup3", /* 293 */ "pipe2", @@ -832,11 +832,11 @@ const char *const altlinux_syscallnames[] = { /* 219 */ NULL, /* unimplemented restart_syscall */ /* 220 */ NULL, /* unimplemented semtimedop */ /* 221 */ NULL, /* fadvise64 */ - /* 222 */ NULL, /* unimplemented timer_create */ - /* 223 */ NULL, /* unimplemented timer_settime */ - /* 224 */ NULL, /* unimplemented timer_gettime */ - /* 225 */ NULL, /* unimplemented timer_getoverrun */ - /* 226 */ NULL, /* unimplemented timer_delete */ + /* 222 */ NULL, /* timer_create */ + /* 223 */ NULL, /* timer_settime */ + /* 224 */ NULL, /* timer_gettime */ + /* 225 */ NULL, /* timer_getoverrun */ + /* 226 */ NULL, /* timer_delete */ /* 227 */ NULL, /* clock_settime */ /* 228 */ NULL, /* clock_gettime */ /* 229 */ NULL, /* clock_getres */ @@ -893,14 +893,14 @@ const char *const altlinux_syscallnames[] = { /* 280 */ NULL, /* utimensat */ /* 281 */ NULL, /* unimplemented epoll_pwait */ /* 282 */ NULL, /* unimplemented signalfd */ - /* 283 */ NULL, /* unimplemented timerfd_create */ - /* 284 */ NULL, /* unimplemented eventfd */ + /* 283 */ NULL, /* timerfd_create */ + /* 284 */ NULL, /* eventfd */ /* 285 */ NULL, /* fallocate */ - /* 286 */ NULL, /* unimplemented timerfd_settime */ - /* 287 */ NULL, /* unimplemented timerfd_gettime */ + /* 286 */ NULL, /* timerfd_settime */ + /* 287 */ NULL, /* timerfd_gettime */ /* 288 */ NULL, /* accept4 */ /* 289 */ NULL, /* unimplemented signalfd4 */ - /* 290 */ NULL, /* unimplemented eventfd2 */ + /* 290 */ NULL, /* eventfd2 */ /* 291 */ NULL, /* unimplemented epoll_create1 */ /* 292 */ NULL, /* dup3 */ /* 293 */ NULL, /* pipe2 */ diff --git a/sys/compat/linux/arch/amd64/linux_sysent.c b/sys/compat/linux/arch/amd64/linux_sysent.c index 233c32cc73af..0057ad0a9f3a 100644 --- a/sys/compat/linux/arch/amd64/linux_sysent.c +++ b/sys/compat/linux/arch/amd64/linux_sysent.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.71 2020/04/26 19:20:18 thorpej Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.71.2.1 2020/12/15 14:07:51 thorpej Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.62 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.62.2.1 2020/12/15 14:07:20 thorpej Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.71 2020/04/26 19:20:18 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.71.2.1 2020/12/15 14:07:51 thorpej Exp $"); #if defined(_KERNEL_OPT) #include "opt_sysv.h" @@ -1044,20 +1044,28 @@ struct sysent linux_sysent[] = { .sy_call = (sy_call_t *)linux_sys_fadvise64 }, /* 221 = fadvise64 */ { - .sy_call = linux_sys_nosys, - }, /* 222 = filler */ + ns(struct linux_sys_timer_create_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_create + }, /* 222 = timer_create */ { - .sy_call = linux_sys_nosys, - }, /* 223 = filler */ + ns(struct linux_sys_timer_settime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_settime + }, /* 223 = timer_settime */ { - .sy_call = linux_sys_nosys, - }, /* 224 = filler */ + ns(struct linux_sys_timer_gettime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_gettime + }, /* 224 = timer_gettime */ { - .sy_call = linux_sys_nosys, - }, /* 225 = filler */ + ns(struct sys_timer_getoverrun_args), + .sy_call = (sy_call_t *)sys_timer_getoverrun + }, /* 225 = timer_getoverrun */ { - .sy_call = linux_sys_nosys, - }, /* 226 = filler */ + ns(struct sys_timer_delete_args), + .sy_call = (sy_call_t *)sys_timer_delete + }, /* 226 = timer_delete */ { ns(struct linux_sys_clock_settime_args), .sy_flags = SYCALL_ARG_PTR, @@ -1273,22 +1281,28 @@ struct sysent linux_sysent[] = { .sy_call = linux_sys_nosys, }, /* 282 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 283 = filler */ + ns(struct linux_sys_timerfd_create_args), + .sy_call = (sy_call_t *)linux_sys_timerfd_create + }, /* 283 = timerfd_create */ { - .sy_call = linux_sys_nosys, - }, /* 284 = filler */ + ns(struct linux_sys_eventfd_args), + .sy_call = (sy_call_t *)linux_sys_eventfd + }, /* 284 = eventfd */ { ns(struct linux_sys_fallocate_args), .sy_flags = SYCALL_NARGS64_VAL(2) | SYCALL_ARG3_64 | SYCALL_ARG2_64, .sy_call = (sy_call_t *)linux_sys_fallocate }, /* 285 = fallocate */ { - .sy_call = linux_sys_nosys, - }, /* 286 = filler */ + ns(struct linux_sys_timerfd_settime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timerfd_settime + }, /* 286 = timerfd_settime */ { - .sy_call = linux_sys_nosys, - }, /* 287 = filler */ + ns(struct linux_sys_timerfd_gettime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timerfd_gettime + }, /* 287 = timerfd_gettime */ { ns(struct linux_sys_accept4_args), .sy_flags = SYCALL_ARG_PTR, @@ -1298,8 +1312,9 @@ struct sysent linux_sysent[] = { .sy_call = linux_sys_nosys, }, /* 289 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 290 = filler */ + ns(struct linux_sys_eventfd2_args), + .sy_call = (sy_call_t *)linux_sys_eventfd2 + }, /* 290 = eventfd2 */ { .sy_call = linux_sys_nosys, }, /* 291 = filler */ diff --git a/sys/compat/linux/arch/amd64/linux_systrace_args.c b/sys/compat/linux/arch/amd64/linux_systrace_args.c index 7c69b3fb5e0d..8371c4b22a7a 100644 --- a/sys/compat/linux/arch/amd64/linux_systrace_args.c +++ b/sys/compat/linux/arch/amd64/linux_systrace_args.c @@ -1,4 +1,4 @@ -/* $NetBSD: linux_systrace_args.c,v 1.15 2020/04/26 19:20:18 thorpej Exp $ */ +/* $NetBSD: linux_systrace_args.c,v 1.15.2.1 2020/12/15 14:07:51 thorpej Exp $ */ /* * System call argument to DTrace register array converstion. @@ -1519,6 +1519,47 @@ systrace_args(register_t sysnum, const void *params, uintptr_t *uarg, size_t *n_ *n_args = 4; break; } + /* linux_sys_timer_create */ + case 222: { + const struct linux_sys_timer_create_args *p = params; + iarg[0] = SCARG(p, clockid); /* clockid_t */ + uarg[1] = (intptr_t) SCARG(p, evp); /* struct linux_sigevent * */ + uarg[2] = (intptr_t) SCARG(p, timerid); /* timer_t * */ + *n_args = 3; + break; + } + /* linux_sys_timer_settime */ + case 223: { + const struct linux_sys_timer_settime_args *p = params; + iarg[0] = SCARG(p, timerid); /* timer_t */ + iarg[1] = SCARG(p, flags); /* int */ + uarg[2] = (intptr_t) SCARG(p, tim); /* const struct linux_itimerspec * */ + uarg[3] = (intptr_t) SCARG(p, otim); /* struct linux_itimerspec * */ + *n_args = 4; + break; + } + /* linux_sys_timer_gettime */ + case 224: { + const struct linux_sys_timer_gettime_args *p = params; + iarg[0] = SCARG(p, timerid); /* timer_t */ + uarg[1] = (intptr_t) SCARG(p, tim); /* struct linux_itimerspec * */ + *n_args = 2; + break; + } + /* sys_timer_getoverrun */ + case 225: { + const struct sys_timer_getoverrun_args *p = params; + iarg[0] = SCARG(p, timerid); /* timer_t */ + *n_args = 1; + break; + } + /* sys_timer_delete */ + case 226: { + const struct sys_timer_delete_args *p = params; + iarg[0] = SCARG(p, timerid); /* timer_t */ + *n_args = 1; + break; + } /* linux_sys_clock_settime */ case 227: { const struct linux_sys_clock_settime_args *p = params; @@ -1743,6 +1784,21 @@ systrace_args(register_t sysnum, const void *params, uintptr_t *uarg, size_t *n_ *n_args = 4; break; } + /* linux_sys_timerfd_create */ + case 283: { + const struct linux_sys_timerfd_create_args *p = params; + iarg[0] = SCARG(p, clock_id); /* clockid_t */ + iarg[1] = SCARG(p, flags); /* int */ + *n_args = 2; + break; + } + /* linux_sys_eventfd */ + case 284: { + const struct linux_sys_eventfd_args *p = params; + uarg[0] = SCARG(p, initval); /* unsigned int */ + *n_args = 1; + break; + } /* linux_sys_fallocate */ case 285: { const struct linux_sys_fallocate_args *p = params; @@ -1753,6 +1809,24 @@ systrace_args(register_t sysnum, const void *params, uintptr_t *uarg, size_t *n_ *n_args = 4; break; } + /* linux_sys_timerfd_settime */ + case 286: { + const struct linux_sys_timerfd_settime_args *p = params; + iarg[0] = SCARG(p, fd); /* int */ + iarg[1] = SCARG(p, flags); /* int */ + uarg[2] = (intptr_t) SCARG(p, new_value); /* const struct linux_itimerspec * */ + uarg[3] = (intptr_t) SCARG(p, old_value); /* struct linux_itimerspec * */ + *n_args = 4; + break; + } + /* linux_sys_timerfd_gettime */ + case 287: { + const struct linux_sys_timerfd_gettime_args *p = params; + iarg[0] = SCARG(p, fd); /* int */ + uarg[1] = (intptr_t) SCARG(p, curr_value); /* struct linux_itimerspec * */ + *n_args = 2; + break; + } /* linux_sys_accept4 */ case 288: { const struct linux_sys_accept4_args *p = params; @@ -1763,6 +1837,14 @@ systrace_args(register_t sysnum, const void *params, uintptr_t *uarg, size_t *n_ *n_args = 4; break; } + /* linux_sys_eventfd2 */ + case 290: { + const struct linux_sys_eventfd2_args *p = params; + uarg[0] = SCARG(p, initval); /* unsigned int */ + iarg[1] = SCARG(p, flags); /* int */ + *n_args = 2; + break; + } /* linux_sys_dup3 */ case 292: { const struct linux_sys_dup3_args *p = params; @@ -4289,6 +4371,74 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* linux_sys_timer_create */ + case 222: + switch(ndx) { + case 0: + p = "clockid_t"; + break; + case 1: + p = "struct linux_sigevent *"; + break; + case 2: + p = "timer_t *"; + break; + default: + break; + }; + break; + /* linux_sys_timer_settime */ + case 223: + switch(ndx) { + case 0: + p = "timer_t"; + break; + case 1: + p = "int"; + break; + case 2: + p = "const struct linux_itimerspec *"; + break; + case 3: + p = "struct linux_itimerspec *"; + break; + default: + break; + }; + break; + /* linux_sys_timer_gettime */ + case 224: + switch(ndx) { + case 0: + p = "timer_t"; + break; + case 1: + p = "struct linux_itimerspec *"; + break; + default: + break; + }; + break; + /* sys_timer_getoverrun */ + case 225: + switch(ndx) { + case 0: + p = "timer_t"; + break; + default: + break; + }; + break; + /* sys_timer_delete */ + case 226: + switch(ndx) { + case 0: + p = "timer_t"; + break; + default: + break; + }; + break; /* linux_sys_clock_settime */ case 227: switch(ndx) { @@ -4697,6 +4847,29 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* linux_sys_timerfd_create */ + case 283: + switch(ndx) { + case 0: + p = "clockid_t"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; + /* linux_sys_eventfd */ + case 284: + switch(ndx) { + case 0: + p = "unsigned int"; + break; + default: + break; + }; + break; /* linux_sys_fallocate */ case 285: switch(ndx) { @@ -4716,6 +4889,38 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* linux_sys_timerfd_settime */ + case 286: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + case 2: + p = "const struct linux_itimerspec *"; + break; + case 3: + p = "struct linux_itimerspec *"; + break; + default: + break; + }; + break; + /* linux_sys_timerfd_gettime */ + case 287: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "struct linux_itimerspec *"; + break; + default: + break; + }; + break; /* linux_sys_accept4 */ case 288: switch(ndx) { @@ -4735,6 +4940,19 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* linux_sys_eventfd2 */ + case 290: + switch(ndx) { + case 0: + p = "unsigned int"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; /* linux_sys_dup3 */ case 292: switch(ndx) { @@ -5696,6 +5914,31 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_timer_create */ + case 222: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* linux_sys_timer_settime */ + case 223: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* linux_sys_timer_gettime */ + case 224: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* sys_timer_getoverrun */ + case 225: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* sys_timer_delete */ + case 226: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sys_clock_settime */ case 227: if (ndx == 0 || ndx == 1) @@ -5816,16 +6059,41 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_timerfd_create */ + case 283: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* linux_sys_eventfd */ + case 284: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sys_fallocate */ case 285: if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_timerfd_settime */ + case 286: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* linux_sys_timerfd_gettime */ + case 287: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sys_accept4 */ case 288: if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_eventfd2 */ + case 290: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sys_dup3 */ case 292: if (ndx == 0 || ndx == 1) diff --git a/sys/compat/linux/arch/arm/linux_syscall.h b/sys/compat/linux/arch/arm/linux_syscall.h index e5136a89ae26..df18452d1736 100644 --- a/sys/compat/linux/arch/arm/linux_syscall.h +++ b/sys/compat/linux/arch/arm/linux_syscall.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.82 2020/04/26 19:20:18 thorpej Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.82.2.1 2020/12/15 14:07:51 thorpej Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.69 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.69.2.1 2020/12/15 14:07:21 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -625,6 +625,21 @@ /* syscall: "set_tid_address" ret: "int" args: "int *" */ #define LINUX_SYS_set_tid_address 256 +/* syscall: "timer_create" ret: "int" args: "clockid_t" "struct linux_sigevent *" "timer_t *" */ +#define LINUX_SYS_timer_create 257 + +/* syscall: "timer_settime" ret: "int" args: "timer_t" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */ +#define LINUX_SYS_timer_settime 258 + +/* syscall: "timer_gettime" ret: "int" args: "timer_t" "struct linux_itimerspec *" */ +#define LINUX_SYS_timer_gettime 259 + +/* syscall: "timer_getoverrun" ret: "int" args: "timer_t" */ +#define LINUX_SYS_timer_getoverrun 260 + +/* syscall: "timer_delete" ret: "int" args: "timer_t" */ +#define LINUX_SYS_timer_delete 261 + /* syscall: "clock_settime" ret: "int" args: "clockid_t" "struct linux_timespec *" */ #define LINUX_SYS_clock_settime 262 @@ -703,9 +718,24 @@ /* syscall: "utimensat" ret: "int" args: "int" "const char *" "struct linux_timespec *" "int" */ #define LINUX_SYS_utimensat 348 +/* syscall: "timerfd_create" ret: "int" args: "clockid_t" "int" */ +#define LINUX_SYS_timerfd_create 350 + +/* syscall: "eventfd" ret: "int" args: "unsigned int" */ +#define LINUX_SYS_eventfd 351 + /* syscall: "fallocate" ret: "int" args: "int" "int" "off_t" "off_t" */ #define LINUX_SYS_fallocate 352 +/* syscall: "timerfd_settime" ret: "int" args: "int" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */ +#define LINUX_SYS_timerfd_settime 353 + +/* syscall: "timerfd_gettime" ret: "int" args: "int" "struct linux_itimerspec *" */ +#define LINUX_SYS_timerfd_gettime 354 + +/* syscall: "eventfd2" ret: "int" args: "unsigned int" "int" */ +#define LINUX_SYS_eventfd2 356 + /* syscall: "dup3" ret: "int" args: "int" "int" "int" */ #define LINUX_SYS_dup3 358 diff --git a/sys/compat/linux/arch/arm/linux_syscallargs.h b/sys/compat/linux/arch/arm/linux_syscallargs.h index 33abd733f806..714c731ee801 100644 --- a/sys/compat/linux/arch/arm/linux_syscallargs.h +++ b/sys/compat/linux/arch/arm/linux_syscallargs.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.82 2020/04/26 19:20:18 thorpej Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.82.2.1 2020/12/15 14:07:51 thorpej Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.69 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.69.2.1 2020/12/15 14:07:21 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -914,6 +914,31 @@ struct linux_sys_set_tid_address_args { }; check_syscall_args(linux_sys_set_tid_address) +struct linux_sys_timer_create_args { + syscallarg(clockid_t) clockid; + syscallarg(struct linux_sigevent *) evp; + syscallarg(timer_t *) timerid; +}; +check_syscall_args(linux_sys_timer_create) + +struct linux_sys_timer_settime_args { + syscallarg(timer_t) timerid; + syscallarg(int) flags; + syscallarg(const struct linux_itimerspec *) tim; + syscallarg(struct linux_itimerspec *) otim; +}; +check_syscall_args(linux_sys_timer_settime) + +struct linux_sys_timer_gettime_args { + syscallarg(timer_t) timerid; + syscallarg(struct linux_itimerspec *) tim; +}; +check_syscall_args(linux_sys_timer_gettime) + +struct sys_timer_getoverrun_args; + +struct sys_timer_delete_args; + struct linux_sys_clock_settime_args { syscallarg(clockid_t) which; syscallarg(struct linux_timespec *) tp; @@ -1072,6 +1097,17 @@ struct linux_sys_utimensat_args { }; check_syscall_args(linux_sys_utimensat) +struct linux_sys_timerfd_create_args { + syscallarg(clockid_t) clock_id; + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_timerfd_create) + +struct linux_sys_eventfd_args { + syscallarg(unsigned int) initval; +}; +check_syscall_args(linux_sys_eventfd) + struct linux_sys_fallocate_args { syscallarg(int) fd; syscallarg(int) mode; @@ -1080,6 +1116,26 @@ struct linux_sys_fallocate_args { }; check_syscall_args(linux_sys_fallocate) +struct linux_sys_timerfd_settime_args { + syscallarg(int) fd; + syscallarg(int) flags; + syscallarg(const struct linux_itimerspec *) new_value; + syscallarg(struct linux_itimerspec *) old_value; +}; +check_syscall_args(linux_sys_timerfd_settime) + +struct linux_sys_timerfd_gettime_args { + syscallarg(int) fd; + syscallarg(struct linux_itimerspec *) curr_value; +}; +check_syscall_args(linux_sys_timerfd_gettime) + +struct linux_sys_eventfd2_args { + syscallarg(unsigned int) initval; + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_eventfd2) + struct linux_sys_dup3_args { syscallarg(int) from; syscallarg(int) to; @@ -1520,6 +1576,16 @@ int linux_sys_exit_group(struct lwp *, const struct linux_sys_exit_group_args *, int linux_sys_set_tid_address(struct lwp *, const struct linux_sys_set_tid_address_args *, register_t *); +int linux_sys_timer_create(struct lwp *, const struct linux_sys_timer_create_args *, register_t *); + +int linux_sys_timer_settime(struct lwp *, const struct linux_sys_timer_settime_args *, register_t *); + +int linux_sys_timer_gettime(struct lwp *, const struct linux_sys_timer_gettime_args *, register_t *); + +int sys_timer_getoverrun(struct lwp *, const struct sys_timer_getoverrun_args *, register_t *); + +int sys_timer_delete(struct lwp *, const struct sys_timer_delete_args *, register_t *); + int linux_sys_clock_settime(struct lwp *, const struct linux_sys_clock_settime_args *, register_t *); int linux_sys_clock_gettime(struct lwp *, const struct linux_sys_clock_gettime_args *, register_t *); @@ -1572,8 +1638,18 @@ int sys___futex_get_robust_list(struct lwp *, const struct sys___futex_get_robus int linux_sys_utimensat(struct lwp *, const struct linux_sys_utimensat_args *, register_t *); +int linux_sys_timerfd_create(struct lwp *, const struct linux_sys_timerfd_create_args *, register_t *); + +int linux_sys_eventfd(struct lwp *, const struct linux_sys_eventfd_args *, register_t *); + int linux_sys_fallocate(struct lwp *, const struct linux_sys_fallocate_args *, register_t *); +int linux_sys_timerfd_settime(struct lwp *, const struct linux_sys_timerfd_settime_args *, register_t *); + +int linux_sys_timerfd_gettime(struct lwp *, const struct linux_sys_timerfd_gettime_args *, register_t *); + +int linux_sys_eventfd2(struct lwp *, const struct linux_sys_eventfd2_args *, register_t *); + int linux_sys_dup3(struct lwp *, const struct linux_sys_dup3_args *, register_t *); int linux_sys_pipe2(struct lwp *, const struct linux_sys_pipe2_args *, register_t *); diff --git a/sys/compat/linux/arch/arm/linux_syscalls.c b/sys/compat/linux/arch/arm/linux_syscalls.c index 960160cb591e..9fb824a132db 100644 --- a/sys/compat/linux/arch/arm/linux_syscalls.c +++ b/sys/compat/linux/arch/arm/linux_syscalls.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.82 2020/04/26 19:20:18 thorpej Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.82.2.1 2020/12/15 14:07:51 thorpej Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.69 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.69.2.1 2020/12/15 14:07:21 thorpej Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.82 2020/04/26 19:20:18 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.82.2.1 2020/12/15 14:07:51 thorpej Exp $"); #if defined(_KERNEL_OPT) #include @@ -292,11 +292,11 @@ const char *const linux_syscallnames[] = { /* 254 */ "#254 (unimplemented set_thread_area)", /* 255 */ "#255 (unimplemented get_thread_area)", /* 256 */ "set_tid_address", - /* 257 */ "#257 (unimplemented timer_create)", - /* 258 */ "#258 (unimplemented timer_settime)", - /* 259 */ "#259 (unimplemented timer_gettime)", - /* 260 */ "#260 (unimplemented timer_getoverrun)", - /* 261 */ "#261 (unimplemented timer_delete)", + /* 257 */ "timer_create", + /* 258 */ "timer_settime", + /* 259 */ "timer_gettime", + /* 260 */ "timer_getoverrun", + /* 261 */ "timer_delete", /* 262 */ "clock_settime", /* 263 */ "clock_gettime", /* 264 */ "clock_getres", @@ -385,13 +385,13 @@ const char *const linux_syscallnames[] = { /* 347 */ "#347 (unimplemented kexec_load)", /* 348 */ "utimensat", /* 349 */ "#349 (unimplemented signalfd)", - /* 350 */ "#350 (unimplemented timerfd_create)", - /* 351 */ "#351 (unimplemented eventfd)", + /* 350 */ "timerfd_create", + /* 351 */ "eventfd", /* 352 */ "fallocate", - /* 353 */ "#353 (unimplemented timerfd_settime)", - /* 354 */ "#354 (unimplemented timerfd_gettime)", + /* 353 */ "timerfd_settime", + /* 354 */ "timerfd_gettime", /* 355 */ "#355 (unimplemented signalfd4)", - /* 356 */ "#356 (unimplemented eventfd2)", + /* 356 */ "eventfd2", /* 357 */ "#357 (unimplemented epoll_create1)", /* 358 */ "dup3", /* 359 */ "pipe2", @@ -814,11 +814,11 @@ const char *const altlinux_syscallnames[] = { /* 254 */ NULL, /* unimplemented set_thread_area */ /* 255 */ NULL, /* unimplemented get_thread_area */ /* 256 */ NULL, /* set_tid_address */ - /* 257 */ NULL, /* unimplemented timer_create */ - /* 258 */ NULL, /* unimplemented timer_settime */ - /* 259 */ NULL, /* unimplemented timer_gettime */ - /* 260 */ NULL, /* unimplemented timer_getoverrun */ - /* 261 */ NULL, /* unimplemented timer_delete */ + /* 257 */ NULL, /* timer_create */ + /* 258 */ NULL, /* timer_settime */ + /* 259 */ NULL, /* timer_gettime */ + /* 260 */ NULL, /* timer_getoverrun */ + /* 261 */ NULL, /* timer_delete */ /* 262 */ NULL, /* clock_settime */ /* 263 */ NULL, /* clock_gettime */ /* 264 */ NULL, /* clock_getres */ @@ -907,13 +907,13 @@ const char *const altlinux_syscallnames[] = { /* 347 */ NULL, /* unimplemented kexec_load */ /* 348 */ NULL, /* utimensat */ /* 349 */ NULL, /* unimplemented signalfd */ - /* 350 */ NULL, /* unimplemented timerfd_create */ - /* 351 */ NULL, /* unimplemented eventfd */ + /* 350 */ NULL, /* timerfd_create */ + /* 351 */ NULL, /* eventfd */ /* 352 */ NULL, /* fallocate */ - /* 353 */ NULL, /* unimplemented timerfd_settime */ - /* 354 */ NULL, /* unimplemented timerfd_gettime */ + /* 353 */ NULL, /* timerfd_settime */ + /* 354 */ NULL, /* timerfd_gettime */ /* 355 */ NULL, /* unimplemented signalfd4 */ - /* 356 */ NULL, /* unimplemented eventfd2 */ + /* 356 */ NULL, /* eventfd2 */ /* 357 */ NULL, /* unimplemented epoll_create1 */ /* 358 */ NULL, /* dup3 */ /* 359 */ NULL, /* pipe2 */ diff --git a/sys/compat/linux/arch/arm/linux_sysent.c b/sys/compat/linux/arch/arm/linux_sysent.c index cd0e27b719f4..5224033f7c9f 100644 --- a/sys/compat/linux/arch/arm/linux_sysent.c +++ b/sys/compat/linux/arch/arm/linux_sysent.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.82 2020/04/26 19:20:18 thorpej Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.82.2.1 2020/12/15 14:07:51 thorpej Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.69 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.69.2.1 2020/12/15 14:07:21 thorpej Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.82 2020/04/26 19:20:18 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.82.2.1 2020/12/15 14:07:51 thorpej Exp $"); #include #include @@ -1116,20 +1116,28 @@ struct sysent linux_sysent[] = { .sy_call = (sy_call_t *)linux_sys_set_tid_address }, /* 256 = set_tid_address */ { - .sy_call = linux_sys_nosys, - }, /* 257 = filler */ + ns(struct linux_sys_timer_create_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_create + }, /* 257 = timer_create */ { - .sy_call = linux_sys_nosys, - }, /* 258 = filler */ + ns(struct linux_sys_timer_settime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_settime + }, /* 258 = timer_settime */ { - .sy_call = linux_sys_nosys, - }, /* 259 = filler */ + ns(struct linux_sys_timer_gettime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_gettime + }, /* 259 = timer_gettime */ { - .sy_call = linux_sys_nosys, - }, /* 260 = filler */ + ns(struct sys_timer_getoverrun_args), + .sy_call = (sy_call_t *)sys_timer_getoverrun + }, /* 260 = timer_getoverrun */ { - .sy_call = linux_sys_nosys, - }, /* 261 = filler */ + ns(struct sys_timer_delete_args), + .sy_call = (sy_call_t *)sys_timer_delete + }, /* 261 = timer_delete */ { ns(struct linux_sys_clock_settime_args), .sy_flags = SYCALL_ARG_PTR, @@ -1446,28 +1454,35 @@ struct sysent linux_sysent[] = { .sy_call = linux_sys_nosys, }, /* 349 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 350 = filler */ + ns(struct linux_sys_timerfd_create_args), + .sy_call = (sy_call_t *)linux_sys_timerfd_create + }, /* 350 = timerfd_create */ { - .sy_call = linux_sys_nosys, - }, /* 351 = filler */ + ns(struct linux_sys_eventfd_args), + .sy_call = (sy_call_t *)linux_sys_eventfd + }, /* 351 = eventfd */ { ns(struct linux_sys_fallocate_args), .sy_flags = SYCALL_NARGS64_VAL(2) | SYCALL_ARG3_64 | SYCALL_ARG2_64, .sy_call = (sy_call_t *)linux_sys_fallocate }, /* 352 = fallocate */ { - .sy_call = linux_sys_nosys, - }, /* 353 = filler */ + ns(struct linux_sys_timerfd_settime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timerfd_settime + }, /* 353 = timerfd_settime */ { - .sy_call = linux_sys_nosys, - }, /* 354 = filler */ + ns(struct linux_sys_timerfd_gettime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timerfd_gettime + }, /* 354 = timerfd_gettime */ { .sy_call = linux_sys_nosys, }, /* 355 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 356 = filler */ + ns(struct linux_sys_eventfd2_args), + .sy_call = (sy_call_t *)linux_sys_eventfd2 + }, /* 356 = eventfd2 */ { .sy_call = linux_sys_nosys, }, /* 357 = filler */ diff --git a/sys/compat/linux/arch/arm/linux_systrace_args.c b/sys/compat/linux/arch/arm/linux_systrace_args.c index 741860c5a7ad..8ccc7d8802dd 100644 --- a/sys/compat/linux/arch/arm/linux_systrace_args.c +++ b/sys/compat/linux/arch/arm/linux_systrace_args.c @@ -1,4 +1,4 @@ -/* $NetBSD: linux_systrace_args.c,v 1.15 2020/04/26 19:20:18 thorpej Exp $ */ +/* $NetBSD: linux_systrace_args.c,v 1.15.2.1 2020/12/15 14:07:51 thorpej Exp $ */ /* * System call argument to DTrace register array converstion. @@ -1597,6 +1597,47 @@ systrace_args(register_t sysnum, const void *params, uintptr_t *uarg, size_t *n_ *n_args = 1; break; } + /* linux_sys_timer_create */ + case 257: { + const struct linux_sys_timer_create_args *p = params; + iarg[0] = SCARG(p, clockid); /* clockid_t */ + uarg[1] = (intptr_t) SCARG(p, evp); /* struct linux_sigevent * */ + uarg[2] = (intptr_t) SCARG(p, timerid); /* timer_t * */ + *n_args = 3; + break; + } + /* linux_sys_timer_settime */ + case 258: { + const struct linux_sys_timer_settime_args *p = params; + iarg[0] = SCARG(p, timerid); /* timer_t */ + iarg[1] = SCARG(p, flags); /* int */ + uarg[2] = (intptr_t) SCARG(p, tim); /* const struct linux_itimerspec * */ + uarg[3] = (intptr_t) SCARG(p, otim); /* struct linux_itimerspec * */ + *n_args = 4; + break; + } + /* linux_sys_timer_gettime */ + case 259: { + const struct linux_sys_timer_gettime_args *p = params; + iarg[0] = SCARG(p, timerid); /* timer_t */ + uarg[1] = (intptr_t) SCARG(p, tim); /* struct linux_itimerspec * */ + *n_args = 2; + break; + } + /* sys_timer_getoverrun */ + case 260: { + const struct sys_timer_getoverrun_args *p = params; + iarg[0] = SCARG(p, timerid); /* timer_t */ + *n_args = 1; + break; + } + /* sys_timer_delete */ + case 261: { + const struct sys_timer_delete_args *p = params; + iarg[0] = SCARG(p, timerid); /* timer_t */ + *n_args = 1; + break; + } /* linux_sys_clock_settime */ case 262: { const struct linux_sys_clock_settime_args *p = params; @@ -1842,6 +1883,21 @@ systrace_args(register_t sysnum, const void *params, uintptr_t *uarg, size_t *n_ *n_args = 4; break; } + /* linux_sys_timerfd_create */ + case 350: { + const struct linux_sys_timerfd_create_args *p = params; + iarg[0] = SCARG(p, clock_id); /* clockid_t */ + iarg[1] = SCARG(p, flags); /* int */ + *n_args = 2; + break; + } + /* linux_sys_eventfd */ + case 351: { + const struct linux_sys_eventfd_args *p = params; + uarg[0] = SCARG(p, initval); /* unsigned int */ + *n_args = 1; + break; + } /* linux_sys_fallocate */ case 352: { const struct linux_sys_fallocate_args *p = params; @@ -1852,6 +1908,32 @@ systrace_args(register_t sysnum, const void *params, uintptr_t *uarg, size_t *n_ *n_args = 4; break; } + /* linux_sys_timerfd_settime */ + case 353: { + const struct linux_sys_timerfd_settime_args *p = params; + iarg[0] = SCARG(p, fd); /* int */ + iarg[1] = SCARG(p, flags); /* int */ + uarg[2] = (intptr_t) SCARG(p, new_value); /* const struct linux_itimerspec * */ + uarg[3] = (intptr_t) SCARG(p, old_value); /* struct linux_itimerspec * */ + *n_args = 4; + break; + } + /* linux_sys_timerfd_gettime */ + case 354: { + const struct linux_sys_timerfd_gettime_args *p = params; + iarg[0] = SCARG(p, fd); /* int */ + uarg[1] = (intptr_t) SCARG(p, curr_value); /* struct linux_itimerspec * */ + *n_args = 2; + break; + } + /* linux_sys_eventfd2 */ + case 356: { + const struct linux_sys_eventfd2_args *p = params; + uarg[0] = SCARG(p, initval); /* unsigned int */ + iarg[1] = SCARG(p, flags); /* int */ + *n_args = 2; + break; + } /* linux_sys_dup3 */ case 358: { const struct linux_sys_dup3_args *p = params; @@ -4468,6 +4550,74 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* linux_sys_timer_create */ + case 257: + switch(ndx) { + case 0: + p = "clockid_t"; + break; + case 1: + p = "struct linux_sigevent *"; + break; + case 2: + p = "timer_t *"; + break; + default: + break; + }; + break; + /* linux_sys_timer_settime */ + case 258: + switch(ndx) { + case 0: + p = "timer_t"; + break; + case 1: + p = "int"; + break; + case 2: + p = "const struct linux_itimerspec *"; + break; + case 3: + p = "struct linux_itimerspec *"; + break; + default: + break; + }; + break; + /* linux_sys_timer_gettime */ + case 259: + switch(ndx) { + case 0: + p = "timer_t"; + break; + case 1: + p = "struct linux_itimerspec *"; + break; + default: + break; + }; + break; + /* sys_timer_getoverrun */ + case 260: + switch(ndx) { + case 0: + p = "timer_t"; + break; + default: + break; + }; + break; + /* sys_timer_delete */ + case 261: + switch(ndx) { + case 0: + p = "timer_t"; + break; + default: + break; + }; + break; /* linux_sys_clock_settime */ case 262: switch(ndx) { @@ -4917,6 +5067,29 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* linux_sys_timerfd_create */ + case 350: + switch(ndx) { + case 0: + p = "clockid_t"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; + /* linux_sys_eventfd */ + case 351: + switch(ndx) { + case 0: + p = "unsigned int"; + break; + default: + break; + }; + break; /* linux_sys_fallocate */ case 352: switch(ndx) { @@ -4936,6 +5109,51 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* linux_sys_timerfd_settime */ + case 353: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + case 2: + p = "const struct linux_itimerspec *"; + break; + case 3: + p = "struct linux_itimerspec *"; + break; + default: + break; + }; + break; + /* linux_sys_timerfd_gettime */ + case 354: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "struct linux_itimerspec *"; + break; + default: + break; + }; + break; + /* linux_sys_eventfd2 */ + case 356: + switch(ndx) { + case 0: + p = "unsigned int"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; /* linux_sys_dup3 */ case 358: switch(ndx) { @@ -6001,6 +6219,31 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_timer_create */ + case 257: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* linux_sys_timer_settime */ + case 258: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* linux_sys_timer_gettime */ + case 259: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* sys_timer_getoverrun */ + case 260: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* sys_timer_delete */ + case 261: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sys_clock_settime */ case 262: if (ndx == 0 || ndx == 1) @@ -6131,11 +6374,36 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_timerfd_create */ + case 350: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* linux_sys_eventfd */ + case 351: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sys_fallocate */ case 352: if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_timerfd_settime */ + case 353: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* linux_sys_timerfd_gettime */ + case 354: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* linux_sys_eventfd2 */ + case 356: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sys_dup3 */ case 358: if (ndx == 0 || ndx == 1) diff --git a/sys/compat/linux/arch/i386/linux_syscall.h b/sys/compat/linux/arch/i386/linux_syscall.h index f976a98f799d..48e8dd823e03 100644 --- a/sys/compat/linux/arch/i386/linux_syscall.h +++ b/sys/compat/linux/arch/i386/linux_syscall.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.116 2020/04/26 19:20:18 thorpej Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.116.2.1 2020/12/15 14:07:51 thorpej Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.124 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.124.2.1 2020/12/15 14:07:21 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -647,6 +647,21 @@ /* syscall: "set_tid_address" ret: "int" args: "int *" */ #define LINUX_SYS_set_tid_address 258 +/* syscall: "timer_create" ret: "int" args: "clockid_t" "struct linux_sigevent *" "timer_t *" */ +#define LINUX_SYS_timer_create 259 + +/* syscall: "timer_settime" ret: "int" args: "timer_t" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */ +#define LINUX_SYS_timer_settime 260 + +/* syscall: "timer_gettime" ret: "int" args: "timer_t" "struct linux_itimerspec *" */ +#define LINUX_SYS_timer_gettime 261 + +/* syscall: "timer_getoverrun" ret: "int" args: "timer_t" */ +#define LINUX_SYS_timer_getoverrun 262 + +/* syscall: "timer_delete" ret: "int" args: "timer_t" */ +#define LINUX_SYS_timer_delete 263 + /* syscall: "clock_settime" ret: "int" args: "clockid_t" "struct linux_timespec *" */ #define LINUX_SYS_clock_settime 264 @@ -725,9 +740,24 @@ /* syscall: "utimensat" ret: "int" args: "int" "const char *" "struct linux_timespec *" "int" */ #define LINUX_SYS_utimensat 320 +/* syscall: "timerfd_create" ret: "int" args: "clockid_t" "int" */ +#define LINUX_SYS_timerfd_create 322 + +/* syscall: "eventfd" ret: "int" args: "unsigned int" */ +#define LINUX_SYS_eventfd 323 + /* syscall: "fallocate" ret: "int" args: "int" "int" "off_t" "off_t" */ #define LINUX_SYS_fallocate 324 +/* syscall: "timerfd_settime" ret: "int" args: "int" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */ +#define LINUX_SYS_timerfd_settime 325 + +/* syscall: "timerfd_gettime" ret: "int" args: "int" "struct linux_itimerspec *" */ +#define LINUX_SYS_timerfd_gettime 326 + +/* syscall: "eventfd2" ret: "int" args: "unsigned int" "int" */ +#define LINUX_SYS_eventfd2 328 + /* syscall: "dup3" ret: "int" args: "int" "int" "int" */ #define LINUX_SYS_dup3 330 diff --git a/sys/compat/linux/arch/i386/linux_syscallargs.h b/sys/compat/linux/arch/i386/linux_syscallargs.h index 359ecd08fb79..37e02fde4c39 100644 --- a/sys/compat/linux/arch/i386/linux_syscallargs.h +++ b/sys/compat/linux/arch/i386/linux_syscallargs.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.116 2020/04/26 19:20:18 thorpej Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.116.2.1 2020/12/15 14:07:51 thorpej Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.124 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.124.2.1 2020/12/15 14:07:21 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -961,6 +961,31 @@ struct linux_sys_set_tid_address_args { }; check_syscall_args(linux_sys_set_tid_address) +struct linux_sys_timer_create_args { + syscallarg(clockid_t) clockid; + syscallarg(struct linux_sigevent *) evp; + syscallarg(timer_t *) timerid; +}; +check_syscall_args(linux_sys_timer_create) + +struct linux_sys_timer_settime_args { + syscallarg(timer_t) timerid; + syscallarg(int) flags; + syscallarg(const struct linux_itimerspec *) tim; + syscallarg(struct linux_itimerspec *) otim; +}; +check_syscall_args(linux_sys_timer_settime) + +struct linux_sys_timer_gettime_args { + syscallarg(timer_t) timerid; + syscallarg(struct linux_itimerspec *) tim; +}; +check_syscall_args(linux_sys_timer_gettime) + +struct sys_timer_getoverrun_args; + +struct sys_timer_delete_args; + struct linux_sys_clock_settime_args { syscallarg(clockid_t) which; syscallarg(struct linux_timespec *) tp; @@ -1119,6 +1144,17 @@ struct linux_sys_utimensat_args { }; check_syscall_args(linux_sys_utimensat) +struct linux_sys_timerfd_create_args { + syscallarg(clockid_t) clock_id; + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_timerfd_create) + +struct linux_sys_eventfd_args { + syscallarg(unsigned int) initval; +}; +check_syscall_args(linux_sys_eventfd) + struct linux_sys_fallocate_args { syscallarg(int) fd; syscallarg(int) mode; @@ -1127,6 +1163,26 @@ struct linux_sys_fallocate_args { }; check_syscall_args(linux_sys_fallocate) +struct linux_sys_timerfd_settime_args { + syscallarg(int) fd; + syscallarg(int) flags; + syscallarg(const struct linux_itimerspec *) new_value; + syscallarg(struct linux_itimerspec *) old_value; +}; +check_syscall_args(linux_sys_timerfd_settime) + +struct linux_sys_timerfd_gettime_args { + syscallarg(int) fd; + syscallarg(struct linux_itimerspec *) curr_value; +}; +check_syscall_args(linux_sys_timerfd_gettime) + +struct linux_sys_eventfd2_args { + syscallarg(unsigned int) initval; + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_eventfd2) + struct linux_sys_dup3_args { syscallarg(int) from; syscallarg(int) to; @@ -1546,6 +1602,16 @@ int linux_sys_exit_group(struct lwp *, const struct linux_sys_exit_group_args *, int linux_sys_set_tid_address(struct lwp *, const struct linux_sys_set_tid_address_args *, register_t *); +int linux_sys_timer_create(struct lwp *, const struct linux_sys_timer_create_args *, register_t *); + +int linux_sys_timer_settime(struct lwp *, const struct linux_sys_timer_settime_args *, register_t *); + +int linux_sys_timer_gettime(struct lwp *, const struct linux_sys_timer_gettime_args *, register_t *); + +int sys_timer_getoverrun(struct lwp *, const struct sys_timer_getoverrun_args *, register_t *); + +int sys_timer_delete(struct lwp *, const struct sys_timer_delete_args *, register_t *); + int linux_sys_clock_settime(struct lwp *, const struct linux_sys_clock_settime_args *, register_t *); int linux_sys_clock_gettime(struct lwp *, const struct linux_sys_clock_gettime_args *, register_t *); @@ -1598,8 +1664,18 @@ int sys___futex_get_robust_list(struct lwp *, const struct sys___futex_get_robus int linux_sys_utimensat(struct lwp *, const struct linux_sys_utimensat_args *, register_t *); +int linux_sys_timerfd_create(struct lwp *, const struct linux_sys_timerfd_create_args *, register_t *); + +int linux_sys_eventfd(struct lwp *, const struct linux_sys_eventfd_args *, register_t *); + int linux_sys_fallocate(struct lwp *, const struct linux_sys_fallocate_args *, register_t *); +int linux_sys_timerfd_settime(struct lwp *, const struct linux_sys_timerfd_settime_args *, register_t *); + +int linux_sys_timerfd_gettime(struct lwp *, const struct linux_sys_timerfd_gettime_args *, register_t *); + +int linux_sys_eventfd2(struct lwp *, const struct linux_sys_eventfd2_args *, register_t *); + int linux_sys_dup3(struct lwp *, const struct linux_sys_dup3_args *, register_t *); int linux_sys_pipe2(struct lwp *, const struct linux_sys_pipe2_args *, register_t *); diff --git a/sys/compat/linux/arch/i386/linux_syscalls.c b/sys/compat/linux/arch/i386/linux_syscalls.c index 09d55519eaa0..c15476fec72e 100644 --- a/sys/compat/linux/arch/i386/linux_syscalls.c +++ b/sys/compat/linux/arch/i386/linux_syscalls.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.117 2020/04/26 19:20:18 thorpej Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.117.2.1 2020/12/15 14:07:51 thorpej Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.124 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.124.2.1 2020/12/15 14:07:21 thorpej Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.117 2020/04/26 19:20:18 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.117.2.1 2020/12/15 14:07:51 thorpej Exp $"); #if defined(_KERNEL_OPT) #include @@ -293,11 +293,11 @@ const char *const linux_syscallnames[] = { /* 256 */ "#256 (unimplemented epoll_wait)", /* 257 */ "#257 (unimplemented remap_file_pages)", /* 258 */ "set_tid_address", - /* 259 */ "#259 (unimplemented timer_create)", - /* 260 */ "#260 (unimplemented timer_settime)", - /* 261 */ "#261 (unimplemented timer_gettime)", - /* 262 */ "#262 (unimplemented timer_getoverrun)", - /* 263 */ "#263 (unimplemented timer_delete)", + /* 259 */ "timer_create", + /* 260 */ "timer_settime", + /* 261 */ "timer_gettime", + /* 262 */ "timer_getoverrun", + /* 263 */ "timer_delete", /* 264 */ "clock_settime", /* 265 */ "clock_gettime", /* 266 */ "clock_getres", @@ -356,13 +356,13 @@ const char *const linux_syscallnames[] = { /* 319 */ "#319 (unimplemented epoll_wait)", /* 320 */ "utimensat", /* 321 */ "#321 (unimplemented signalfd)", - /* 322 */ "#322 (unimplemented timerfd_create)", - /* 323 */ "#323 (unimplemented eventfd)", + /* 322 */ "timerfd_create", + /* 323 */ "eventfd", /* 324 */ "fallocate", - /* 325 */ "#325 (unimplemented timerfd_settime)", - /* 326 */ "#326 (unimplemented timerfd_gettime)", + /* 325 */ "timerfd_settime", + /* 326 */ "timerfd_gettime", /* 327 */ "#327 (unimplemented signalfd4)", - /* 328 */ "#328 (unimplemented eventfd2)", + /* 328 */ "eventfd2", /* 329 */ "#329 (unimplemented epoll_create1)", /* 330 */ "dup3", /* 331 */ "pipe2", @@ -815,11 +815,11 @@ const char *const altlinux_syscallnames[] = { /* 256 */ NULL, /* unimplemented epoll_wait */ /* 257 */ NULL, /* unimplemented remap_file_pages */ /* 258 */ NULL, /* set_tid_address */ - /* 259 */ NULL, /* unimplemented timer_create */ - /* 260 */ NULL, /* unimplemented timer_settime */ - /* 261 */ NULL, /* unimplemented timer_gettime */ - /* 262 */ NULL, /* unimplemented timer_getoverrun */ - /* 263 */ NULL, /* unimplemented timer_delete */ + /* 259 */ NULL, /* timer_create */ + /* 260 */ NULL, /* timer_settime */ + /* 261 */ NULL, /* timer_gettime */ + /* 262 */ NULL, /* timer_getoverrun */ + /* 263 */ NULL, /* timer_delete */ /* 264 */ NULL, /* clock_settime */ /* 265 */ NULL, /* clock_gettime */ /* 266 */ NULL, /* clock_getres */ @@ -878,13 +878,13 @@ const char *const altlinux_syscallnames[] = { /* 319 */ NULL, /* unimplemented epoll_wait */ /* 320 */ NULL, /* utimensat */ /* 321 */ NULL, /* unimplemented signalfd */ - /* 322 */ NULL, /* unimplemented timerfd_create */ - /* 323 */ NULL, /* unimplemented eventfd */ + /* 322 */ NULL, /* timerfd_create */ + /* 323 */ NULL, /* eventfd */ /* 324 */ NULL, /* fallocate */ - /* 325 */ NULL, /* unimplemented timerfd_settime */ - /* 326 */ NULL, /* unimplemented timerfd_gettime */ + /* 325 */ NULL, /* timerfd_settime */ + /* 326 */ NULL, /* timerfd_gettime */ /* 327 */ NULL, /* unimplemented signalfd4 */ - /* 328 */ NULL, /* unimplemented eventfd2 */ + /* 328 */ NULL, /* eventfd2 */ /* 329 */ NULL, /* unimplemented epoll_create1 */ /* 330 */ NULL, /* dup3 */ /* 331 */ NULL, /* pipe2 */ diff --git a/sys/compat/linux/arch/i386/linux_sysent.c b/sys/compat/linux/arch/i386/linux_sysent.c index 18609762ee3d..e89570992b2f 100644 --- a/sys/compat/linux/arch/i386/linux_sysent.c +++ b/sys/compat/linux/arch/i386/linux_sysent.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.116 2020/04/26 19:20:18 thorpej Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.116.2.1 2020/12/15 14:07:51 thorpej Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.124 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.124.2.1 2020/12/15 14:07:21 thorpej Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.116 2020/04/26 19:20:18 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.116.2.1 2020/12/15 14:07:51 thorpej Exp $"); #include #include @@ -1135,20 +1135,28 @@ struct sysent linux_sysent[] = { .sy_call = (sy_call_t *)linux_sys_set_tid_address }, /* 258 = set_tid_address */ { - .sy_call = linux_sys_nosys, - }, /* 259 = filler */ + ns(struct linux_sys_timer_create_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_create + }, /* 259 = timer_create */ { - .sy_call = linux_sys_nosys, - }, /* 260 = filler */ + ns(struct linux_sys_timer_settime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_settime + }, /* 260 = timer_settime */ { - .sy_call = linux_sys_nosys, - }, /* 261 = filler */ + ns(struct linux_sys_timer_gettime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_gettime + }, /* 261 = timer_gettime */ { - .sy_call = linux_sys_nosys, - }, /* 262 = filler */ + ns(struct sys_timer_getoverrun_args), + .sy_call = (sy_call_t *)sys_timer_getoverrun + }, /* 262 = timer_getoverrun */ { - .sy_call = linux_sys_nosys, - }, /* 263 = filler */ + ns(struct sys_timer_delete_args), + .sy_call = (sy_call_t *)sys_timer_delete + }, /* 263 = timer_delete */ { ns(struct linux_sys_clock_settime_args), .sy_flags = SYCALL_ARG_PTR, @@ -1375,28 +1383,35 @@ struct sysent linux_sysent[] = { .sy_call = linux_sys_nosys, }, /* 321 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 322 = filler */ + ns(struct linux_sys_timerfd_create_args), + .sy_call = (sy_call_t *)linux_sys_timerfd_create + }, /* 322 = timerfd_create */ { - .sy_call = linux_sys_nosys, - }, /* 323 = filler */ + ns(struct linux_sys_eventfd_args), + .sy_call = (sy_call_t *)linux_sys_eventfd + }, /* 323 = eventfd */ { ns(struct linux_sys_fallocate_args), .sy_flags = SYCALL_NARGS64_VAL(2) | SYCALL_ARG3_64 | SYCALL_ARG2_64, .sy_call = (sy_call_t *)linux_sys_fallocate }, /* 324 = fallocate */ { - .sy_call = linux_sys_nosys, - }, /* 325 = filler */ + ns(struct linux_sys_timerfd_settime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timerfd_settime + }, /* 325 = timerfd_settime */ { - .sy_call = linux_sys_nosys, - }, /* 326 = filler */ + ns(struct linux_sys_timerfd_gettime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timerfd_gettime + }, /* 326 = timerfd_gettime */ { .sy_call = linux_sys_nosys, }, /* 327 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 328 = filler */ + ns(struct linux_sys_eventfd2_args), + .sy_call = (sy_call_t *)linux_sys_eventfd2 + }, /* 328 = eventfd2 */ { .sy_call = linux_sys_nosys, }, /* 329 = filler */ diff --git a/sys/compat/linux/arch/i386/linux_systrace_args.c b/sys/compat/linux/arch/i386/linux_systrace_args.c index 72f8d72b99c0..8d89b56db60a 100644 --- a/sys/compat/linux/arch/i386/linux_systrace_args.c +++ b/sys/compat/linux/arch/i386/linux_systrace_args.c @@ -1,4 +1,4 @@ -/* $NetBSD: linux_systrace_args.c,v 1.11 2020/04/26 19:20:18 thorpej Exp $ */ +/* $NetBSD: linux_systrace_args.c,v 1.11.2.1 2020/12/15 14:07:51 thorpej Exp $ */ /* * System call argument to DTrace register array converstion. @@ -1660,6 +1660,47 @@ systrace_args(register_t sysnum, const void *params, uintptr_t *uarg, size_t *n_ *n_args = 1; break; } + /* linux_sys_timer_create */ + case 259: { + const struct linux_sys_timer_create_args *p = params; + iarg[0] = SCARG(p, clockid); /* clockid_t */ + uarg[1] = (intptr_t) SCARG(p, evp); /* struct linux_sigevent * */ + uarg[2] = (intptr_t) SCARG(p, timerid); /* timer_t * */ + *n_args = 3; + break; + } + /* linux_sys_timer_settime */ + case 260: { + const struct linux_sys_timer_settime_args *p = params; + iarg[0] = SCARG(p, timerid); /* timer_t */ + iarg[1] = SCARG(p, flags); /* int */ + uarg[2] = (intptr_t) SCARG(p, tim); /* const struct linux_itimerspec * */ + uarg[3] = (intptr_t) SCARG(p, otim); /* struct linux_itimerspec * */ + *n_args = 4; + break; + } + /* linux_sys_timer_gettime */ + case 261: { + const struct linux_sys_timer_gettime_args *p = params; + iarg[0] = SCARG(p, timerid); /* timer_t */ + uarg[1] = (intptr_t) SCARG(p, tim); /* struct linux_itimerspec * */ + *n_args = 2; + break; + } + /* sys_timer_getoverrun */ + case 262: { + const struct sys_timer_getoverrun_args *p = params; + iarg[0] = SCARG(p, timerid); /* timer_t */ + *n_args = 1; + break; + } + /* sys_timer_delete */ + case 263: { + const struct sys_timer_delete_args *p = params; + iarg[0] = SCARG(p, timerid); /* timer_t */ + *n_args = 1; + break; + } /* linux_sys_clock_settime */ case 264: { const struct linux_sys_clock_settime_args *p = params; @@ -1905,6 +1946,21 @@ systrace_args(register_t sysnum, const void *params, uintptr_t *uarg, size_t *n_ *n_args = 4; break; } + /* linux_sys_timerfd_create */ + case 322: { + const struct linux_sys_timerfd_create_args *p = params; + iarg[0] = SCARG(p, clock_id); /* clockid_t */ + iarg[1] = SCARG(p, flags); /* int */ + *n_args = 2; + break; + } + /* linux_sys_eventfd */ + case 323: { + const struct linux_sys_eventfd_args *p = params; + uarg[0] = SCARG(p, initval); /* unsigned int */ + *n_args = 1; + break; + } /* linux_sys_fallocate */ case 324: { const struct linux_sys_fallocate_args *p = params; @@ -1915,6 +1971,32 @@ systrace_args(register_t sysnum, const void *params, uintptr_t *uarg, size_t *n_ *n_args = 4; break; } + /* linux_sys_timerfd_settime */ + case 325: { + const struct linux_sys_timerfd_settime_args *p = params; + iarg[0] = SCARG(p, fd); /* int */ + iarg[1] = SCARG(p, flags); /* int */ + uarg[2] = (intptr_t) SCARG(p, new_value); /* const struct linux_itimerspec * */ + uarg[3] = (intptr_t) SCARG(p, old_value); /* struct linux_itimerspec * */ + *n_args = 4; + break; + } + /* linux_sys_timerfd_gettime */ + case 326: { + const struct linux_sys_timerfd_gettime_args *p = params; + iarg[0] = SCARG(p, fd); /* int */ + uarg[1] = (intptr_t) SCARG(p, curr_value); /* struct linux_itimerspec * */ + *n_args = 2; + break; + } + /* linux_sys_eventfd2 */ + case 328: { + const struct linux_sys_eventfd2_args *p = params; + uarg[0] = SCARG(p, initval); /* unsigned int */ + iarg[1] = SCARG(p, flags); /* int */ + *n_args = 2; + break; + } /* linux_sys_dup3 */ case 330: { const struct linux_sys_dup3_args *p = params; @@ -4580,6 +4662,74 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* linux_sys_timer_create */ + case 259: + switch(ndx) { + case 0: + p = "clockid_t"; + break; + case 1: + p = "struct linux_sigevent *"; + break; + case 2: + p = "timer_t *"; + break; + default: + break; + }; + break; + /* linux_sys_timer_settime */ + case 260: + switch(ndx) { + case 0: + p = "timer_t"; + break; + case 1: + p = "int"; + break; + case 2: + p = "const struct linux_itimerspec *"; + break; + case 3: + p = "struct linux_itimerspec *"; + break; + default: + break; + }; + break; + /* linux_sys_timer_gettime */ + case 261: + switch(ndx) { + case 0: + p = "timer_t"; + break; + case 1: + p = "struct linux_itimerspec *"; + break; + default: + break; + }; + break; + /* sys_timer_getoverrun */ + case 262: + switch(ndx) { + case 0: + p = "timer_t"; + break; + default: + break; + }; + break; + /* sys_timer_delete */ + case 263: + switch(ndx) { + case 0: + p = "timer_t"; + break; + default: + break; + }; + break; /* linux_sys_clock_settime */ case 264: switch(ndx) { @@ -5029,6 +5179,29 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* linux_sys_timerfd_create */ + case 322: + switch(ndx) { + case 0: + p = "clockid_t"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; + /* linux_sys_eventfd */ + case 323: + switch(ndx) { + case 0: + p = "unsigned int"; + break; + default: + break; + }; + break; /* linux_sys_fallocate */ case 324: switch(ndx) { @@ -5048,6 +5221,51 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) break; }; break; + /* linux_sys_timerfd_settime */ + case 325: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + case 2: + p = "const struct linux_itimerspec *"; + break; + case 3: + p = "struct linux_itimerspec *"; + break; + default: + break; + }; + break; + /* linux_sys_timerfd_gettime */ + case 326: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "struct linux_itimerspec *"; + break; + default: + break; + }; + break; + /* linux_sys_eventfd2 */ + case 328: + switch(ndx) { + case 0: + p = "unsigned int"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; /* linux_sys_dup3 */ case 330: switch(ndx) { @@ -6064,6 +6282,31 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_timer_create */ + case 259: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* linux_sys_timer_settime */ + case 260: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* linux_sys_timer_gettime */ + case 261: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* sys_timer_getoverrun */ + case 262: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* sys_timer_delete */ + case 263: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sys_clock_settime */ case 264: if (ndx == 0 || ndx == 1) @@ -6194,11 +6437,36 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz) if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_timerfd_create */ + case 322: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* linux_sys_eventfd */ + case 323: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sys_fallocate */ case 324: if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_timerfd_settime */ + case 325: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* linux_sys_timerfd_gettime */ + case 326: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* linux_sys_eventfd2 */ + case 328: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux_sys_dup3 */ case 330: if (ndx == 0 || ndx == 1) diff --git a/sys/compat/linux/arch/m68k/linux_syscall.h b/sys/compat/linux/arch/m68k/linux_syscall.h index d6b9e42ab4fa..cecd7c8ccd4a 100644 --- a/sys/compat/linux/arch/m68k/linux_syscall.h +++ b/sys/compat/linux/arch/m68k/linux_syscall.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.108 2020/04/26 19:20:19 thorpej Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.108.2.1 2020/12/15 14:07:52 thorpej Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.95 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.95.2.1 2020/12/15 14:07:21 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -630,6 +630,21 @@ /* syscall: "set_tid_address" ret: "int" args: "int *" */ #define LINUX_SYS_set_tid_address 253 +/* syscall: "timer_create" ret: "int" args: "clockid_t" "struct linux_sigevent *" "timer_t *" */ +#define LINUX_SYS_timer_create 254 + +/* syscall: "timer_settime" ret: "int" args: "timer_t" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */ +#define LINUX_SYS_timer_settime 255 + +/* syscall: "timer_gettime" ret: "int" args: "timer_t" "struct linux_itimerspec *" */ +#define LINUX_SYS_timer_gettime 256 + +/* syscall: "timer_getoverrun" ret: "int" args: "timer_t" */ +#define LINUX_SYS_timer_getoverrun 257 + +/* syscall: "timer_delete" ret: "int" args: "timer_t" */ +#define LINUX_SYS_timer_delete 258 + /* syscall: "clock_settime" ret: "int" args: "clockid_t" "struct linux_timespec *" */ #define LINUX_SYS_clock_settime 259 @@ -714,9 +729,24 @@ /* syscall: "utimensat" ret: "int" args: "int" "const char *" "struct linux_timespec *" "int" */ #define LINUX_SYS_utimensat 316 +/* syscall: "timerfd_create" ret: "int" args: "clockid_t" "int" */ +#define LINUX_SYS_timerfd_create 318 + +/* syscall: "eventfd" ret: "int" args: "unsigned int" */ +#define LINUX_SYS_eventfd 319 + /* syscall: "fallocate" ret: "int" args: "int" "int" "off_t" "off_t" */ #define LINUX_SYS_fallocate 320 +/* syscall: "timerfd_settime" ret: "int" args: "int" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */ +#define LINUX_SYS_timerfd_settime 321 + +/* syscall: "timerfd_gettime" ret: "int" args: "int" "struct linux_itimerspec *" */ +#define LINUX_SYS_timerfd_gettime 322 + +/* syscall: "eventfd2" ret: "int" args: "unsigned int" "int" */ +#define LINUX_SYS_eventfd2 324 + /* syscall: "dup3" ret: "int" args: "int" "int" "int" */ #define LINUX_SYS_dup3 326 diff --git a/sys/compat/linux/arch/m68k/linux_syscallargs.h b/sys/compat/linux/arch/m68k/linux_syscallargs.h index 7e7427cfb63f..f0ce4858340d 100644 --- a/sys/compat/linux/arch/m68k/linux_syscallargs.h +++ b/sys/compat/linux/arch/m68k/linux_syscallargs.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.107 2020/04/26 19:20:19 thorpej Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.107.2.1 2020/12/15 14:07:52 thorpej Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.95 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.95.2.1 2020/12/15 14:07:21 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -908,6 +908,31 @@ struct linux_sys_set_tid_address_args { }; check_syscall_args(linux_sys_set_tid_address) +struct linux_sys_timer_create_args { + syscallarg(clockid_t) clockid; + syscallarg(struct linux_sigevent *) evp; + syscallarg(timer_t *) timerid; +}; +check_syscall_args(linux_sys_timer_create) + +struct linux_sys_timer_settime_args { + syscallarg(timer_t) timerid; + syscallarg(int) flags; + syscallarg(const struct linux_itimerspec *) tim; + syscallarg(struct linux_itimerspec *) otim; +}; +check_syscall_args(linux_sys_timer_settime) + +struct linux_sys_timer_gettime_args { + syscallarg(timer_t) timerid; + syscallarg(struct linux_itimerspec *) tim; +}; +check_syscall_args(linux_sys_timer_gettime) + +struct sys_timer_getoverrun_args; + +struct sys_timer_delete_args; + struct linux_sys_clock_settime_args { syscallarg(clockid_t) which; syscallarg(struct linux_timespec *) tp; @@ -1080,6 +1105,17 @@ struct linux_sys_utimensat_args { }; check_syscall_args(linux_sys_utimensat) +struct linux_sys_timerfd_create_args { + syscallarg(clockid_t) clock_id; + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_timerfd_create) + +struct linux_sys_eventfd_args { + syscallarg(unsigned int) initval; +}; +check_syscall_args(linux_sys_eventfd) + struct linux_sys_fallocate_args { syscallarg(int) fd; syscallarg(int) mode; @@ -1088,6 +1124,26 @@ struct linux_sys_fallocate_args { }; check_syscall_args(linux_sys_fallocate) +struct linux_sys_timerfd_settime_args { + syscallarg(int) fd; + syscallarg(int) flags; + syscallarg(const struct linux_itimerspec *) new_value; + syscallarg(struct linux_itimerspec *) old_value; +}; +check_syscall_args(linux_sys_timerfd_settime) + +struct linux_sys_timerfd_gettime_args { + syscallarg(int) fd; + syscallarg(struct linux_itimerspec *) curr_value; +}; +check_syscall_args(linux_sys_timerfd_gettime) + +struct linux_sys_eventfd2_args { + syscallarg(unsigned int) initval; + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_eventfd2) + struct linux_sys_dup3_args { syscallarg(int) from; syscallarg(int) to; @@ -1524,6 +1580,16 @@ int linux_sys_fadvise64(struct lwp *, const struct linux_sys_fadvise64_args *, r int linux_sys_set_tid_address(struct lwp *, const struct linux_sys_set_tid_address_args *, register_t *); +int linux_sys_timer_create(struct lwp *, const struct linux_sys_timer_create_args *, register_t *); + +int linux_sys_timer_settime(struct lwp *, const struct linux_sys_timer_settime_args *, register_t *); + +int linux_sys_timer_gettime(struct lwp *, const struct linux_sys_timer_gettime_args *, register_t *); + +int sys_timer_getoverrun(struct lwp *, const struct sys_timer_getoverrun_args *, register_t *); + +int sys_timer_delete(struct lwp *, const struct sys_timer_delete_args *, register_t *); + int linux_sys_clock_settime(struct lwp *, const struct linux_sys_clock_settime_args *, register_t *); int linux_sys_clock_gettime(struct lwp *, const struct linux_sys_clock_gettime_args *, register_t *); @@ -1580,8 +1646,18 @@ int linux_sys_sched_getaffinity(struct lwp *, const struct linux_sys_sched_getaf int linux_sys_utimensat(struct lwp *, const struct linux_sys_utimensat_args *, register_t *); +int linux_sys_timerfd_create(struct lwp *, const struct linux_sys_timerfd_create_args *, register_t *); + +int linux_sys_eventfd(struct lwp *, const struct linux_sys_eventfd_args *, register_t *); + int linux_sys_fallocate(struct lwp *, const struct linux_sys_fallocate_args *, register_t *); +int linux_sys_timerfd_settime(struct lwp *, const struct linux_sys_timerfd_settime_args *, register_t *); + +int linux_sys_timerfd_gettime(struct lwp *, const struct linux_sys_timerfd_gettime_args *, register_t *); + +int linux_sys_eventfd2(struct lwp *, const struct linux_sys_eventfd2_args *, register_t *); + int linux_sys_dup3(struct lwp *, const struct linux_sys_dup3_args *, register_t *); int linux_sys_pipe2(struct lwp *, const struct linux_sys_pipe2_args *, register_t *); diff --git a/sys/compat/linux/arch/m68k/linux_syscalls.c b/sys/compat/linux/arch/m68k/linux_syscalls.c index b2e2350c85fd..ae9c812bdca4 100644 --- a/sys/compat/linux/arch/m68k/linux_syscalls.c +++ b/sys/compat/linux/arch/m68k/linux_syscalls.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.108 2020/04/26 19:20:19 thorpej Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.108.2.1 2020/12/15 14:07:52 thorpej Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.95 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.95.2.1 2020/12/15 14:07:21 thorpej Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.108 2020/04/26 19:20:19 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.108.2.1 2020/12/15 14:07:52 thorpej Exp $"); #if defined(_KERNEL_OPT) #if defined(_KERNEL_OPT) @@ -308,11 +308,11 @@ const char *const linux_syscallnames[] = { /* 251 */ "#251 (unimplemented epoll_wait)", /* 252 */ "#252 (unimplemented remap_file_pages)", /* 253 */ "set_tid_address", - /* 254 */ "#254 (unimplemented timer_create)", - /* 255 */ "#255 (unimplemented timer_settime)", - /* 256 */ "#256 (unimplemented timer_gettime)", - /* 257 */ "#257 (unimplemented timer_getoverrun)", - /* 258 */ "#258 (unimplemented timer_ delete)", + /* 254 */ "timer_create", + /* 255 */ "timer_settime", + /* 256 */ "timer_gettime", + /* 257 */ "timer_getoverrun", + /* 258 */ "timer_delete", /* 259 */ "clock_settime", /* 260 */ "clock_gettime", /* 261 */ "clock_getres", @@ -372,13 +372,13 @@ const char *const linux_syscallnames[] = { /* 315 */ "#315 (unimplemented epoll_wait)", /* 316 */ "utimensat", /* 317 */ "#317 (unimplemented signalfd)", - /* 318 */ "#318 (unimplemented timerfd_create)", - /* 319 */ "#319 (unimplemented eventfd)", + /* 318 */ "timerfd_create", + /* 319 */ "eventfd", /* 320 */ "fallocate", - /* 321 */ "#321 (unimplemented timerfd_settime)", - /* 322 */ "#322 (unimplemented timerfd_gettime)", + /* 321 */ "timerfd_settime", + /* 322 */ "timerfd_gettime", /* 323 */ "#323 (unimplemented signalfd4)", - /* 324 */ "#324 (unimplemented eventfd2)", + /* 324 */ "eventfd2", /* 325 */ "#325 (unimplemented epoll_create1)", /* 326 */ "dup3", /* 327 */ "pipe2", @@ -846,11 +846,11 @@ const char *const altlinux_syscallnames[] = { /* 251 */ NULL, /* unimplemented epoll_wait */ /* 252 */ NULL, /* unimplemented remap_file_pages */ /* 253 */ NULL, /* set_tid_address */ - /* 254 */ NULL, /* unimplemented timer_create */ - /* 255 */ NULL, /* unimplemented timer_settime */ - /* 256 */ NULL, /* unimplemented timer_gettime */ - /* 257 */ NULL, /* unimplemented timer_getoverrun */ - /* 258 */ NULL, /* unimplemented timer_ delete */ + /* 254 */ NULL, /* timer_create */ + /* 255 */ NULL, /* timer_settime */ + /* 256 */ NULL, /* timer_gettime */ + /* 257 */ NULL, /* timer_getoverrun */ + /* 258 */ NULL, /* timer_delete */ /* 259 */ NULL, /* clock_settime */ /* 260 */ NULL, /* clock_gettime */ /* 261 */ NULL, /* clock_getres */ @@ -910,13 +910,13 @@ const char *const altlinux_syscallnames[] = { /* 315 */ NULL, /* unimplemented epoll_wait */ /* 316 */ NULL, /* utimensat */ /* 317 */ NULL, /* unimplemented signalfd */ - /* 318 */ NULL, /* unimplemented timerfd_create */ - /* 319 */ NULL, /* unimplemented eventfd */ + /* 318 */ NULL, /* timerfd_create */ + /* 319 */ NULL, /* eventfd */ /* 320 */ NULL, /* fallocate */ - /* 321 */ NULL, /* unimplemented timerfd_settime */ - /* 322 */ NULL, /* unimplemented timerfd_gettime */ + /* 321 */ NULL, /* timerfd_settime */ + /* 322 */ NULL, /* timerfd_gettime */ /* 323 */ NULL, /* unimplemented signalfd4 */ - /* 324 */ NULL, /* unimplemented eventfd2 */ + /* 324 */ NULL, /* eventfd2 */ /* 325 */ NULL, /* unimplemented epoll_create1 */ /* 326 */ NULL, /* dup3 */ /* 327 */ NULL, /* pipe2 */ diff --git a/sys/compat/linux/arch/m68k/linux_sysent.c b/sys/compat/linux/arch/m68k/linux_sysent.c index 990bfc855e69..0bb265d2b101 100644 --- a/sys/compat/linux/arch/m68k/linux_sysent.c +++ b/sys/compat/linux/arch/m68k/linux_sysent.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.108 2020/04/26 19:20:19 thorpej Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.108.2.1 2020/12/15 14:07:52 thorpej Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.95 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.95.2.1 2020/12/15 14:07:21 thorpej Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.108 2020/04/26 19:20:19 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.108.2.1 2020/12/15 14:07:52 thorpej Exp $"); #if defined(_KERNEL_OPT) #include "opt_compat_netbsd.h" @@ -1126,20 +1126,28 @@ struct sysent linux_sysent[] = { .sy_call = (sy_call_t *)linux_sys_set_tid_address }, /* 253 = set_tid_address */ { - .sy_call = linux_sys_nosys, - }, /* 254 = filler */ + ns(struct linux_sys_timer_create_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_create + }, /* 254 = timer_create */ { - .sy_call = linux_sys_nosys, - }, /* 255 = filler */ + ns(struct linux_sys_timer_settime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_settime + }, /* 255 = timer_settime */ { - .sy_call = linux_sys_nosys, - }, /* 256 = filler */ + ns(struct linux_sys_timer_gettime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_gettime + }, /* 256 = timer_gettime */ { - .sy_call = linux_sys_nosys, - }, /* 257 = filler */ + ns(struct sys_timer_getoverrun_args), + .sy_call = (sy_call_t *)sys_timer_getoverrun + }, /* 257 = timer_getoverrun */ { - .sy_call = linux_sys_nosys, - }, /* 258 = filler */ + ns(struct sys_timer_delete_args), + .sy_call = (sy_call_t *)sys_timer_delete + }, /* 258 = timer_delete */ { ns(struct linux_sys_clock_settime_args), .sy_flags = SYCALL_ARG_PTR, @@ -1373,28 +1381,35 @@ struct sysent linux_sysent[] = { .sy_call = linux_sys_nosys, }, /* 317 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 318 = filler */ + ns(struct linux_sys_timerfd_create_args), + .sy_call = (sy_call_t *)linux_sys_timerfd_create + }, /* 318 = timerfd_create */ { - .sy_call = linux_sys_nosys, - }, /* 319 = filler */ + ns(struct linux_sys_eventfd_args), + .sy_call = (sy_call_t *)linux_sys_eventfd + }, /* 319 = eventfd */ { ns(struct linux_sys_fallocate_args), .sy_flags = SYCALL_NARGS64_VAL(2) | SYCALL_ARG3_64 | SYCALL_ARG2_64, .sy_call = (sy_call_t *)linux_sys_fallocate }, /* 320 = fallocate */ { - .sy_call = linux_sys_nosys, - }, /* 321 = filler */ + ns(struct linux_sys_timerfd_settime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timerfd_settime + }, /* 321 = timerfd_settime */ { - .sy_call = linux_sys_nosys, - }, /* 322 = filler */ + ns(struct linux_sys_timerfd_gettime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timerfd_gettime + }, /* 322 = timerfd_gettime */ { .sy_call = linux_sys_nosys, }, /* 323 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 324 = filler */ + ns(struct linux_sys_eventfd2_args), + .sy_call = (sy_call_t *)linux_sys_eventfd2 + }, /* 324 = eventfd2 */ { .sy_call = linux_sys_nosys, }, /* 325 = filler */ diff --git a/sys/compat/linux/arch/mips/linux_syscall.h b/sys/compat/linux/arch/mips/linux_syscall.h index 2d6825a435c9..934c2b8dec48 100644 --- a/sys/compat/linux/arch/mips/linux_syscall.h +++ b/sys/compat/linux/arch/mips/linux_syscall.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.80 2020/04/26 19:20:19 thorpej Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.80.2.1 2020/12/15 14:07:52 thorpej Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.68 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.68.2.1 2020/12/15 14:07:21 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -610,6 +610,21 @@ /* syscall: "fstatfs64" ret: "int" args: "int" "size_t" "struct linux_statfs64 *" */ #define LINUX_SYS_fstatfs64 256 +/* syscall: "timer_create" ret: "int" args: "clockid_t" "struct linux_sigevent *" "timer_t *" */ +#define LINUX_SYS_timer_create 257 + +/* syscall: "timer_settime" ret: "int" args: "timer_t" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */ +#define LINUX_SYS_timer_settime 258 + +/* syscall: "timer_gettime" ret: "int" args: "timer_t" "struct linux_itimerspec *" */ +#define LINUX_SYS_timer_gettime 259 + +/* syscall: "timer_getoverrun" ret: "int" args: "timer_t" */ +#define LINUX_SYS_timer_getoverrun 260 + +/* syscall: "timer_delete" ret: "int" args: "timer_t" */ +#define LINUX_SYS_timer_delete 261 + /* syscall: "clock_settime" ret: "int" args: "clockid_t" "struct linux_timespec *" */ #define LINUX_SYS_clock_settime 262 @@ -682,9 +697,24 @@ /* syscall: "utimensat" ret: "int" args: "int" "const char *" "struct linux_timespec *" "int" */ #define LINUX_SYS_utimensat 316 +/* syscall: "eventfd" ret: "int" args: "unsigned int" */ +#define LINUX_SYS_eventfd 319 + /* syscall: "fallocate" ret: "int" args: "int" "int" "off_t" "off_t" */ #define LINUX_SYS_fallocate 320 +/* syscall: "timerfd_create" ret: "int" args: "clockid_t" "int" */ +#define LINUX_SYS_timerfd_create 321 + +/* syscall: "timerfd_gettime" ret: "int" args: "int" "struct linux_itimerspec *" */ +#define LINUX_SYS_timerfd_gettime 322 + +/* syscall: "timerfd_settime" ret: "int" args: "int" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */ +#define LINUX_SYS_timerfd_settime 323 + +/* syscall: "eventfd2" ret: "int" args: "unsigned int" "int" */ +#define LINUX_SYS_eventfd2 325 + /* syscall: "dup3" ret: "int" args: "int" "int" "int" */ #define LINUX_SYS_dup3 327 diff --git a/sys/compat/linux/arch/mips/linux_syscallargs.h b/sys/compat/linux/arch/mips/linux_syscallargs.h index 9eb01986499c..1e2603e11b77 100644 --- a/sys/compat/linux/arch/mips/linux_syscallargs.h +++ b/sys/compat/linux/arch/mips/linux_syscallargs.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.79 2020/04/26 19:20:19 thorpej Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.79.2.1 2020/12/15 14:07:52 thorpej Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.68 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.68.2.1 2020/12/15 14:07:21 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -977,6 +977,31 @@ struct linux_sys_fstatfs64_args { }; check_syscall_args(linux_sys_fstatfs64) +struct linux_sys_timer_create_args { + syscallarg(clockid_t) clockid; + syscallarg(struct linux_sigevent *) evp; + syscallarg(timer_t *) timerid; +}; +check_syscall_args(linux_sys_timer_create) + +struct linux_sys_timer_settime_args { + syscallarg(timer_t) timerid; + syscallarg(int) flags; + syscallarg(const struct linux_itimerspec *) tim; + syscallarg(struct linux_itimerspec *) otim; +}; +check_syscall_args(linux_sys_timer_settime) + +struct linux_sys_timer_gettime_args { + syscallarg(timer_t) timerid; + syscallarg(struct linux_itimerspec *) tim; +}; +check_syscall_args(linux_sys_timer_gettime) + +struct sys_timer_getoverrun_args; + +struct sys_timer_delete_args; + struct linux_sys_clock_settime_args { syscallarg(clockid_t) which; syscallarg(struct linux_timespec *) tp; @@ -1118,6 +1143,11 @@ struct linux_sys_utimensat_args { }; check_syscall_args(linux_sys_utimensat) +struct linux_sys_eventfd_args { + syscallarg(unsigned int) initval; +}; +check_syscall_args(linux_sys_eventfd) + struct linux_sys_fallocate_args { syscallarg(int) fd; syscallarg(int) mode; @@ -1126,6 +1156,32 @@ struct linux_sys_fallocate_args { }; check_syscall_args(linux_sys_fallocate) +struct linux_sys_timerfd_create_args { + syscallarg(clockid_t) clock_id; + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_timerfd_create) + +struct linux_sys_timerfd_gettime_args { + syscallarg(int) fd; + syscallarg(struct linux_itimerspec *) curr_value; +}; +check_syscall_args(linux_sys_timerfd_gettime) + +struct linux_sys_timerfd_settime_args { + syscallarg(int) fd; + syscallarg(int) flags; + syscallarg(const struct linux_itimerspec *) new_value; + syscallarg(struct linux_itimerspec *) old_value; +}; +check_syscall_args(linux_sys_timerfd_settime) + +struct linux_sys_eventfd2_args { + syscallarg(unsigned int) initval; + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_eventfd2) + struct linux_sys_dup3_args { syscallarg(int) from; syscallarg(int) to; @@ -1564,6 +1620,16 @@ int linux_sys_statfs64(struct lwp *, const struct linux_sys_statfs64_args *, reg int linux_sys_fstatfs64(struct lwp *, const struct linux_sys_fstatfs64_args *, register_t *); +int linux_sys_timer_create(struct lwp *, const struct linux_sys_timer_create_args *, register_t *); + +int linux_sys_timer_settime(struct lwp *, const struct linux_sys_timer_settime_args *, register_t *); + +int linux_sys_timer_gettime(struct lwp *, const struct linux_sys_timer_gettime_args *, register_t *); + +int sys_timer_getoverrun(struct lwp *, const struct sys_timer_getoverrun_args *, register_t *); + +int sys_timer_delete(struct lwp *, const struct sys_timer_delete_args *, register_t *); + int linux_sys_clock_settime(struct lwp *, const struct linux_sys_clock_settime_args *, register_t *); int linux_sys_clock_gettime(struct lwp *, const struct linux_sys_clock_gettime_args *, register_t *); @@ -1612,8 +1678,18 @@ int sys___futex_get_robust_list(struct lwp *, const struct sys___futex_get_robus int linux_sys_utimensat(struct lwp *, const struct linux_sys_utimensat_args *, register_t *); +int linux_sys_eventfd(struct lwp *, const struct linux_sys_eventfd_args *, register_t *); + int linux_sys_fallocate(struct lwp *, const struct linux_sys_fallocate_args *, register_t *); +int linux_sys_timerfd_create(struct lwp *, const struct linux_sys_timerfd_create_args *, register_t *); + +int linux_sys_timerfd_gettime(struct lwp *, const struct linux_sys_timerfd_gettime_args *, register_t *); + +int linux_sys_timerfd_settime(struct lwp *, const struct linux_sys_timerfd_settime_args *, register_t *); + +int linux_sys_eventfd2(struct lwp *, const struct linux_sys_eventfd2_args *, register_t *); + int linux_sys_dup3(struct lwp *, const struct linux_sys_dup3_args *, register_t *); int linux_sys_pipe2(struct lwp *, const struct linux_sys_pipe2_args *, register_t *); diff --git a/sys/compat/linux/arch/mips/linux_syscalls.c b/sys/compat/linux/arch/mips/linux_syscalls.c index 21f0875c7a33..97e4212fbfae 100644 --- a/sys/compat/linux/arch/mips/linux_syscalls.c +++ b/sys/compat/linux/arch/mips/linux_syscalls.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.79 2020/04/26 19:20:19 thorpej Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.79.2.1 2020/12/15 14:07:52 thorpej Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.68 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.68.2.1 2020/12/15 14:07:21 thorpej Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.79 2020/04/26 19:20:19 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.79.2.1 2020/12/15 14:07:52 thorpej Exp $"); #if defined(_KERNEL_OPT) #include @@ -287,11 +287,11 @@ const char *const linux_syscallnames[] = { /* 254 */ "fadvise64", /* 255 */ "statfs64", /* 256 */ "fstatfs64", - /* 257 */ "#257 (unimplemented timer_create)", - /* 258 */ "#258 (unimplemented timer_settime)", - /* 259 */ "#259 (unimplemented timer_gettime)", - /* 260 */ "#260 (unimplemented timer_getoverrun)", - /* 261 */ "#261 (unimplemented timer_delete)", + /* 257 */ "timer_create", + /* 258 */ "timer_settime", + /* 259 */ "timer_gettime", + /* 260 */ "timer_getoverrun", + /* 261 */ "timer_delete", /* 262 */ "clock_settime", /* 263 */ "clock_gettime", /* 264 */ "clock_getres", @@ -349,13 +349,13 @@ const char *const linux_syscallnames[] = { /* 316 */ "utimensat", /* 317 */ "#317 (unimplemented signalfd)", /* 318 */ "#318 (unimplemented timerfd)", - /* 319 */ "#319 (unimplemented eventfd)", + /* 319 */ "eventfd", /* 320 */ "fallocate", - /* 321 */ "#321 (unimplemented timerfd_create)", - /* 322 */ "#322 (unimplemented timerfd_gettime)", - /* 323 */ "#323 (unimplemented timerfd_settime)", + /* 321 */ "timerfd_create", + /* 322 */ "timerfd_gettime", + /* 323 */ "timerfd_settime", /* 324 */ "#324 (unimplemented signalfd4)", - /* 325 */ "#325 (unimplemented eventfd2)", + /* 325 */ "eventfd2", /* 326 */ "#326 (unimplemented epoll_create1)", /* 327 */ "dup3", /* 328 */ "pipe2", @@ -804,11 +804,11 @@ const char *const altlinux_syscallnames[] = { /* 254 */ NULL, /* fadvise64 */ /* 255 */ NULL, /* statfs64 */ /* 256 */ NULL, /* fstatfs64 */ - /* 257 */ NULL, /* unimplemented timer_create */ - /* 258 */ NULL, /* unimplemented timer_settime */ - /* 259 */ NULL, /* unimplemented timer_gettime */ - /* 260 */ NULL, /* unimplemented timer_getoverrun */ - /* 261 */ NULL, /* unimplemented timer_delete */ + /* 257 */ NULL, /* timer_create */ + /* 258 */ NULL, /* timer_settime */ + /* 259 */ NULL, /* timer_gettime */ + /* 260 */ NULL, /* timer_getoverrun */ + /* 261 */ NULL, /* timer_delete */ /* 262 */ NULL, /* clock_settime */ /* 263 */ NULL, /* clock_gettime */ /* 264 */ NULL, /* clock_getres */ @@ -866,13 +866,13 @@ const char *const altlinux_syscallnames[] = { /* 316 */ NULL, /* utimensat */ /* 317 */ NULL, /* unimplemented signalfd */ /* 318 */ NULL, /* unimplemented timerfd */ - /* 319 */ NULL, /* unimplemented eventfd */ + /* 319 */ NULL, /* eventfd */ /* 320 */ NULL, /* fallocate */ - /* 321 */ NULL, /* unimplemented timerfd_create */ - /* 322 */ NULL, /* unimplemented timerfd_gettime */ - /* 323 */ NULL, /* unimplemented timerfd_settime */ + /* 321 */ NULL, /* timerfd_create */ + /* 322 */ NULL, /* timerfd_gettime */ + /* 323 */ NULL, /* timerfd_settime */ /* 324 */ NULL, /* unimplemented signalfd4 */ - /* 325 */ NULL, /* unimplemented eventfd2 */ + /* 325 */ NULL, /* eventfd2 */ /* 326 */ NULL, /* unimplemented epoll_create1 */ /* 327 */ NULL, /* dup3 */ /* 328 */ NULL, /* pipe2 */ diff --git a/sys/compat/linux/arch/mips/linux_sysent.c b/sys/compat/linux/arch/mips/linux_sysent.c index 17094a0ad19a..a0445c4010af 100644 --- a/sys/compat/linux/arch/mips/linux_sysent.c +++ b/sys/compat/linux/arch/mips/linux_sysent.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.79 2020/04/26 19:20:19 thorpej Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.79.2.1 2020/12/15 14:07:52 thorpej Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.68 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.68.2.1 2020/12/15 14:07:21 thorpej Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.79 2020/04/26 19:20:19 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.79.2.1 2020/12/15 14:07:52 thorpej Exp $"); #include #include @@ -1121,20 +1121,28 @@ struct sysent linux_sysent[] = { .sy_call = (sy_call_t *)linux_sys_fstatfs64 }, /* 256 = fstatfs64 */ { - .sy_call = linux_sys_nosys, - }, /* 257 = filler */ + ns(struct linux_sys_timer_create_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_create + }, /* 257 = timer_create */ { - .sy_call = linux_sys_nosys, - }, /* 258 = filler */ + ns(struct linux_sys_timer_settime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_settime + }, /* 258 = timer_settime */ { - .sy_call = linux_sys_nosys, - }, /* 259 = filler */ + ns(struct linux_sys_timer_gettime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_gettime + }, /* 259 = timer_gettime */ { - .sy_call = linux_sys_nosys, - }, /* 260 = filler */ + ns(struct sys_timer_getoverrun_args), + .sy_call = (sy_call_t *)sys_timer_getoverrun + }, /* 260 = timer_getoverrun */ { - .sy_call = linux_sys_nosys, - }, /* 261 = filler */ + ns(struct sys_timer_delete_args), + .sy_call = (sy_call_t *)sys_timer_delete + }, /* 261 = timer_delete */ { ns(struct linux_sys_clock_settime_args), .sy_flags = SYCALL_ARG_PTR, @@ -1354,28 +1362,35 @@ struct sysent linux_sysent[] = { .sy_call = linux_sys_nosys, }, /* 318 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 319 = filler */ + ns(struct linux_sys_eventfd_args), + .sy_call = (sy_call_t *)linux_sys_eventfd + }, /* 319 = eventfd */ { ns(struct linux_sys_fallocate_args), .sy_flags = SYCALL_NARGS64_VAL(2) | SYCALL_ARG3_64 | SYCALL_ARG2_64, .sy_call = (sy_call_t *)linux_sys_fallocate }, /* 320 = fallocate */ { - .sy_call = linux_sys_nosys, - }, /* 321 = filler */ + ns(struct linux_sys_timerfd_create_args), + .sy_call = (sy_call_t *)linux_sys_timerfd_create + }, /* 321 = timerfd_create */ { - .sy_call = linux_sys_nosys, - }, /* 322 = filler */ + ns(struct linux_sys_timerfd_gettime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timerfd_gettime + }, /* 322 = timerfd_gettime */ { - .sy_call = linux_sys_nosys, - }, /* 323 = filler */ + ns(struct linux_sys_timerfd_settime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timerfd_settime + }, /* 323 = timerfd_settime */ { .sy_call = linux_sys_nosys, }, /* 324 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 325 = filler */ + ns(struct linux_sys_eventfd2_args), + .sy_call = (sy_call_t *)linux_sys_eventfd2 + }, /* 325 = eventfd2 */ { .sy_call = linux_sys_nosys, }, /* 326 = filler */ diff --git a/sys/compat/linux/arch/powerpc/linux_syscall.h b/sys/compat/linux/arch/powerpc/linux_syscall.h index 82f33b2d85f6..2abc7d8b934c 100644 --- a/sys/compat/linux/arch/powerpc/linux_syscall.h +++ b/sys/compat/linux/arch/powerpc/linux_syscall.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.86 2020/04/26 19:20:19 thorpej Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.86.2.1 2020/12/15 14:07:52 thorpej Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.74 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.74.2.1 2020/12/15 14:07:21 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -573,6 +573,21 @@ /* syscall: "exit_group" ret: "int" args: "int" */ #define LINUX_SYS_exit_group 234 +/* syscall: "timer_create" ret: "int" args: "clockid_t" "struct linux_sigevent *" "timer_t *" */ +#define LINUX_SYS_timer_create 240 + +/* syscall: "timer_settime" ret: "int" args: "timer_t" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */ +#define LINUX_SYS_timer_settime 241 + +/* syscall: "timer_gettime" ret: "int" args: "timer_t" "struct linux_itimerspec *" */ +#define LINUX_SYS_timer_gettime 242 + +/* syscall: "timer_getoverrun" ret: "int" args: "timer_t" */ +#define LINUX_SYS_timer_getoverrun 243 + +/* syscall: "timer_delete" ret: "int" args: "timer_t" */ +#define LINUX_SYS_timer_delete 244 + /* syscall: "clock_settime" ret: "int" args: "clockid_t" "struct linux_timespec *" */ #define LINUX_SYS_clock_settime 245 @@ -651,9 +666,21 @@ /* syscall: "utimensat" ret: "int" args: "int" "const char *" "struct linux_timespec *" "int" */ #define LINUX_SYS_utimensat 304 +/* syscall: "timerfd_create" ret: "int" args: "clockid_t" "int" */ +#define LINUX_SYS_timerfd_create 306 + +/* syscall: "eventfd" ret: "int" args: "unsigned int" */ +#define LINUX_SYS_eventfd 307 + /* syscall: "fallocate" ret: "int" args: "int" "int" "off_t" "off_t" */ #define LINUX_SYS_fallocate 309 +/* syscall: "timerfd_settime" ret: "int" args: "int" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */ +#define LINUX_SYS_timerfd_settime 311 + +/* syscall: "timerfd_gettime" ret: "int" args: "int" "struct linux_itimerspec *" */ +#define LINUX_SYS_timerfd_gettime 312 + /* syscall: "dup3" ret: "int" args: "int" "int" "int" */ #define LINUX_SYS_dup3 316 diff --git a/sys/compat/linux/arch/powerpc/linux_syscallargs.h b/sys/compat/linux/arch/powerpc/linux_syscallargs.h index 9d35ed51b665..02d059e278a8 100644 --- a/sys/compat/linux/arch/powerpc/linux_syscallargs.h +++ b/sys/compat/linux/arch/powerpc/linux_syscallargs.h @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.85 2020/04/26 19:20:19 thorpej Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.85.2.1 2020/12/15 14:07:52 thorpej Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.74 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.74.2.1 2020/12/15 14:07:21 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -847,6 +847,31 @@ struct linux_sys_exit_group_args { }; check_syscall_args(linux_sys_exit_group) +struct linux_sys_timer_create_args { + syscallarg(clockid_t) clockid; + syscallarg(struct linux_sigevent *) evp; + syscallarg(timer_t *) timerid; +}; +check_syscall_args(linux_sys_timer_create) + +struct linux_sys_timer_settime_args { + syscallarg(timer_t) timerid; + syscallarg(int) flags; + syscallarg(const struct linux_itimerspec *) tim; + syscallarg(struct linux_itimerspec *) otim; +}; +check_syscall_args(linux_sys_timer_settime) + +struct linux_sys_timer_gettime_args { + syscallarg(timer_t) timerid; + syscallarg(struct linux_itimerspec *) tim; +}; +check_syscall_args(linux_sys_timer_gettime) + +struct sys_timer_getoverrun_args; + +struct sys_timer_delete_args; + struct linux_sys_clock_settime_args { syscallarg(clockid_t) which; syscallarg(struct linux_timespec *) tp; @@ -1005,6 +1030,17 @@ struct linux_sys_utimensat_args { }; check_syscall_args(linux_sys_utimensat) +struct linux_sys_timerfd_create_args { + syscallarg(clockid_t) clock_id; + syscallarg(int) flags; +}; +check_syscall_args(linux_sys_timerfd_create) + +struct linux_sys_eventfd_args { + syscallarg(unsigned int) initval; +}; +check_syscall_args(linux_sys_eventfd) + struct linux_sys_fallocate_args { syscallarg(int) fd; syscallarg(int) mode; @@ -1013,6 +1049,20 @@ struct linux_sys_fallocate_args { }; check_syscall_args(linux_sys_fallocate) +struct linux_sys_timerfd_settime_args { + syscallarg(int) fd; + syscallarg(int) flags; + syscallarg(const struct linux_itimerspec *) new_value; + syscallarg(struct linux_itimerspec *) old_value; +}; +check_syscall_args(linux_sys_timerfd_settime) + +struct linux_sys_timerfd_gettime_args { + syscallarg(int) fd; + syscallarg(struct linux_itimerspec *) curr_value; +}; +check_syscall_args(linux_sys_timerfd_gettime) + struct linux_sys_dup3_args { syscallarg(int) from; syscallarg(int) to; @@ -1423,6 +1473,16 @@ int linux_sys_fadvise64(struct lwp *, const struct linux_sys_fadvise64_args *, r int linux_sys_exit_group(struct lwp *, const struct linux_sys_exit_group_args *, register_t *); +int linux_sys_timer_create(struct lwp *, const struct linux_sys_timer_create_args *, register_t *); + +int linux_sys_timer_settime(struct lwp *, const struct linux_sys_timer_settime_args *, register_t *); + +int linux_sys_timer_gettime(struct lwp *, const struct linux_sys_timer_gettime_args *, register_t *); + +int sys_timer_getoverrun(struct lwp *, const struct sys_timer_getoverrun_args *, register_t *); + +int sys_timer_delete(struct lwp *, const struct sys_timer_delete_args *, register_t *); + int linux_sys_clock_settime(struct lwp *, const struct linux_sys_clock_settime_args *, register_t *); int linux_sys_clock_gettime(struct lwp *, const struct linux_sys_clock_gettime_args *, register_t *); @@ -1475,8 +1535,16 @@ int sys___futex_get_robust_list(struct lwp *, const struct sys___futex_get_robus int linux_sys_utimensat(struct lwp *, const struct linux_sys_utimensat_args *, register_t *); +int linux_sys_timerfd_create(struct lwp *, const struct linux_sys_timerfd_create_args *, register_t *); + +int linux_sys_eventfd(struct lwp *, const struct linux_sys_eventfd_args *, register_t *); + int linux_sys_fallocate(struct lwp *, const struct linux_sys_fallocate_args *, register_t *); +int linux_sys_timerfd_settime(struct lwp *, const struct linux_sys_timerfd_settime_args *, register_t *); + +int linux_sys_timerfd_gettime(struct lwp *, const struct linux_sys_timerfd_gettime_args *, register_t *); + int linux_sys_dup3(struct lwp *, const struct linux_sys_dup3_args *, register_t *); int linux_sys_pipe2(struct lwp *, const struct linux_sys_pipe2_args *, register_t *); diff --git a/sys/compat/linux/arch/powerpc/linux_syscalls.c b/sys/compat/linux/arch/powerpc/linux_syscalls.c index 7d93a19b3924..654cb9981ab4 100644 --- a/sys/compat/linux/arch/powerpc/linux_syscalls.c +++ b/sys/compat/linux/arch/powerpc/linux_syscalls.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.85 2020/04/26 19:20:19 thorpej Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.85.2.1 2020/12/15 14:07:52 thorpej Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.74 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.74.2.1 2020/12/15 14:07:21 thorpej Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.85 2020/04/26 19:20:19 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.85.2.1 2020/12/15 14:07:52 thorpej Exp $"); #if defined(_KERNEL_OPT) #include @@ -273,11 +273,11 @@ const char *const linux_syscallnames[] = { /* 237 */ "#237 (unimplemented epoll_ctl)", /* 238 */ "#238 (unimplemented epoll_wait)", /* 239 */ "#239 (unimplemented remap_file_pages)", - /* 240 */ "#240 (unimplemented timer_create)", - /* 241 */ "#241 (unimplemented timer_settime)", - /* 242 */ "#242 (unimplemented timer_gettime)", - /* 243 */ "#243 (unimplemented timer_getoverrun)", - /* 244 */ "#244 (unimplemented timer_delete)", + /* 240 */ "timer_create", + /* 241 */ "timer_settime", + /* 242 */ "timer_gettime", + /* 243 */ "timer_getoverrun", + /* 244 */ "timer_delete", /* 245 */ "clock_settime", /* 246 */ "clock_gettime", /* 247 */ "clock_getres", @@ -339,15 +339,15 @@ const char *const linux_syscallnames[] = { /* 303 */ "#303 (unimplemented epoll_wait)", /* 304 */ "utimensat", /* 305 */ "#305 (unimplemented signalfd)", - /* 306 */ "#306 (unimplemented timerfd_create)", - /* 307 */ "#307 (unimplemented eventfd)", + /* 306 */ "timerfd_create", + /* 307 */ "eventfd", /* 308 */ "#308 (unimplemented sync_file_range2)", /* 309 */ "fallocate", /* 310 */ "#310 (unimplemented subpage_prot)", - /* 311 */ "#311 (unimplemented timerfd_settime)", - /* 312 */ "#312 (unimplemented timerfd_gettime)", + /* 311 */ "timerfd_settime", + /* 312 */ "timerfd_gettime", /* 313 */ "#313 (unimplemented signalfd4)", - /* 314 */ "#314 (unimplemented eventfd2)", + /* 314 */ "#314 (unimplemented { int | linux_sys | | eventfd2 ( unsigned int initval , int flags ) ; })", /* 315 */ "#315 (unimplemented epoll_create1)", /* 316 */ "dup3", /* 317 */ "pipe2", @@ -795,11 +795,11 @@ const char *const altlinux_syscallnames[] = { /* 237 */ NULL, /* unimplemented epoll_ctl */ /* 238 */ NULL, /* unimplemented epoll_wait */ /* 239 */ NULL, /* unimplemented remap_file_pages */ - /* 240 */ NULL, /* unimplemented timer_create */ - /* 241 */ NULL, /* unimplemented timer_settime */ - /* 242 */ NULL, /* unimplemented timer_gettime */ - /* 243 */ NULL, /* unimplemented timer_getoverrun */ - /* 244 */ NULL, /* unimplemented timer_delete */ + /* 240 */ NULL, /* timer_create */ + /* 241 */ NULL, /* timer_settime */ + /* 242 */ NULL, /* timer_gettime */ + /* 243 */ NULL, /* timer_getoverrun */ + /* 244 */ NULL, /* timer_delete */ /* 245 */ NULL, /* clock_settime */ /* 246 */ NULL, /* clock_gettime */ /* 247 */ NULL, /* clock_getres */ @@ -861,15 +861,15 @@ const char *const altlinux_syscallnames[] = { /* 303 */ NULL, /* unimplemented epoll_wait */ /* 304 */ NULL, /* utimensat */ /* 305 */ NULL, /* unimplemented signalfd */ - /* 306 */ NULL, /* unimplemented timerfd_create */ - /* 307 */ NULL, /* unimplemented eventfd */ + /* 306 */ NULL, /* timerfd_create */ + /* 307 */ NULL, /* eventfd */ /* 308 */ NULL, /* unimplemented sync_file_range2 */ /* 309 */ NULL, /* fallocate */ /* 310 */ NULL, /* unimplemented subpage_prot */ - /* 311 */ NULL, /* unimplemented timerfd_settime */ - /* 312 */ NULL, /* unimplemented timerfd_gettime */ + /* 311 */ NULL, /* timerfd_settime */ + /* 312 */ NULL, /* timerfd_gettime */ /* 313 */ NULL, /* unimplemented signalfd4 */ - /* 314 */ NULL, /* unimplemented eventfd2 */ + /* 314 */ NULL, /* unimplemented { int | linux_sys | | eventfd2 ( unsigned int initval , int flags ) ; } */ /* 315 */ NULL, /* unimplemented epoll_create1 */ /* 316 */ NULL, /* dup3 */ /* 317 */ NULL, /* pipe2 */ diff --git a/sys/compat/linux/arch/powerpc/linux_sysent.c b/sys/compat/linux/arch/powerpc/linux_sysent.c index 3a32f259a8ae..4edc755d93f2 100644 --- a/sys/compat/linux/arch/powerpc/linux_sysent.c +++ b/sys/compat/linux/arch/powerpc/linux_sysent.c @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.86 2020/04/26 19:20:19 thorpej Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.86.2.1 2020/12/15 14:07:52 thorpej Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.74 2020/04/26 18:53:32 thorpej Exp + * created from NetBSD: syscalls.master,v 1.74.2.1 2020/12/15 14:07:21 thorpej Exp */ #include -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.86 2020/04/26 19:20:19 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.86.2.1 2020/12/15 14:07:52 thorpej Exp $"); #include #include @@ -1045,20 +1045,28 @@ struct sysent linux_sysent[] = { .sy_call = linux_sys_nosys, }, /* 239 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 240 = filler */ + ns(struct linux_sys_timer_create_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_create + }, /* 240 = timer_create */ { - .sy_call = linux_sys_nosys, - }, /* 241 = filler */ + ns(struct linux_sys_timer_settime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_settime + }, /* 241 = timer_settime */ { - .sy_call = linux_sys_nosys, - }, /* 242 = filler */ + ns(struct linux_sys_timer_gettime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timer_gettime + }, /* 242 = timer_gettime */ { - .sy_call = linux_sys_nosys, - }, /* 243 = filler */ + ns(struct sys_timer_getoverrun_args), + .sy_call = (sy_call_t *)sys_timer_getoverrun + }, /* 243 = timer_getoverrun */ { - .sy_call = linux_sys_nosys, - }, /* 244 = filler */ + ns(struct sys_timer_delete_args), + .sy_call = (sy_call_t *)sys_timer_delete + }, /* 244 = timer_delete */ { ns(struct linux_sys_clock_settime_args), .sy_flags = SYCALL_ARG_PTR, @@ -1294,11 +1302,13 @@ struct sysent linux_sysent[] = { .sy_call = linux_sys_nosys, }, /* 305 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 306 = filler */ + ns(struct linux_sys_timerfd_create_args), + .sy_call = (sy_call_t *)linux_sys_timerfd_create + }, /* 306 = timerfd_create */ { - .sy_call = linux_sys_nosys, - }, /* 307 = filler */ + ns(struct linux_sys_eventfd_args), + .sy_call = (sy_call_t *)linux_sys_eventfd + }, /* 307 = eventfd */ { .sy_call = linux_sys_nosys, }, /* 308 = filler */ @@ -1311,11 +1321,15 @@ struct sysent linux_sysent[] = { .sy_call = linux_sys_nosys, }, /* 310 = filler */ { - .sy_call = linux_sys_nosys, - }, /* 311 = filler */ + ns(struct linux_sys_timerfd_settime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timerfd_settime + }, /* 311 = timerfd_settime */ { - .sy_call = linux_sys_nosys, - }, /* 312 = filler */ + ns(struct linux_sys_timerfd_gettime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux_sys_timerfd_gettime + }, /* 312 = timerfd_gettime */ { .sy_call = linux_sys_nosys, }, /* 313 = filler */