Module Name: src Committed By: thorpej Date: Sun Sep 19 23:52:08 UTC 2021
Modified Files: src/sys/compat/linux/arch/alpha: linux_syscall.h linux_syscallargs.h linux_syscalls.c linux_sysent.c src/sys/compat/linux/arch/amd64: linux_syscall.h linux_syscallargs.h linux_syscalls.c linux_sysent.c linux_systrace_args.c src/sys/compat/linux/arch/arm: linux_syscall.h linux_syscallargs.h linux_syscalls.c linux_sysent.c linux_systrace_args.c src/sys/compat/linux/arch/i386: linux_syscall.h linux_syscallargs.h linux_syscalls.c linux_sysent.c linux_systrace_args.c src/sys/compat/linux/arch/m68k: linux_syscall.h linux_syscallargs.h linux_syscalls.c linux_sysent.c src/sys/compat/linux/arch/mips: linux_syscall.h linux_syscallargs.h linux_syscalls.c linux_sysent.c src/sys/compat/linux/arch/powerpc: linux_syscall.h linux_syscallargs.h linux_syscalls.c linux_sysent.c src/sys/compat/linux32/arch/amd64: linux32_syscall.h linux32_syscallargs.h linux32_syscalls.c linux32_sysent.c linux32_systrace_args.c Log Message: Regen for timerfd. To generate a diff of this commit: cvs rdiff -u -r1.111 -r1.112 src/sys/compat/linux/arch/alpha/linux_syscall.h \ src/sys/compat/linux/arch/alpha/linux_sysent.c cvs rdiff -u -r1.110 -r1.111 \ src/sys/compat/linux/arch/alpha/linux_syscallargs.h cvs rdiff -u -r1.112 -r1.113 src/sys/compat/linux/arch/alpha/linux_syscalls.c cvs rdiff -u -r1.72 -r1.73 src/sys/compat/linux/arch/amd64/linux_syscall.h \ src/sys/compat/linux/arch/amd64/linux_syscallargs.h \ src/sys/compat/linux/arch/amd64/linux_syscalls.c \ src/sys/compat/linux/arch/amd64/linux_sysent.c cvs rdiff -u -r1.16 -r1.17 \ src/sys/compat/linux/arch/amd64/linux_systrace_args.c cvs rdiff -u -r1.83 -r1.84 src/sys/compat/linux/arch/arm/linux_syscall.h \ src/sys/compat/linux/arch/arm/linux_syscallargs.h \ src/sys/compat/linux/arch/arm/linux_syscalls.c \ src/sys/compat/linux/arch/arm/linux_sysent.c cvs rdiff -u -r1.16 -r1.17 \ src/sys/compat/linux/arch/arm/linux_systrace_args.c cvs rdiff -u -r1.117 -r1.118 src/sys/compat/linux/arch/i386/linux_syscall.h \ src/sys/compat/linux/arch/i386/linux_syscallargs.h \ src/sys/compat/linux/arch/i386/linux_sysent.c cvs rdiff -u -r1.118 -r1.119 src/sys/compat/linux/arch/i386/linux_syscalls.c cvs rdiff -u -r1.12 -r1.13 \ src/sys/compat/linux/arch/i386/linux_systrace_args.c cvs rdiff -u -r1.109 -r1.110 src/sys/compat/linux/arch/m68k/linux_syscall.h \ src/sys/compat/linux/arch/m68k/linux_syscalls.c \ src/sys/compat/linux/arch/m68k/linux_sysent.c cvs rdiff -u -r1.108 -r1.109 \ src/sys/compat/linux/arch/m68k/linux_syscallargs.h cvs rdiff -u -r1.81 -r1.82 src/sys/compat/linux/arch/mips/linux_syscall.h cvs rdiff -u -r1.80 -r1.81 src/sys/compat/linux/arch/mips/linux_syscallargs.h \ src/sys/compat/linux/arch/mips/linux_syscalls.c \ src/sys/compat/linux/arch/mips/linux_sysent.c cvs rdiff -u -r1.87 -r1.88 src/sys/compat/linux/arch/powerpc/linux_syscall.h \ src/sys/compat/linux/arch/powerpc/linux_sysent.c cvs rdiff -u -r1.86 -r1.87 \ src/sys/compat/linux/arch/powerpc/linux_syscallargs.h \ src/sys/compat/linux/arch/powerpc/linux_syscalls.c cvs rdiff -u -r1.82 -r1.83 \ src/sys/compat/linux32/arch/amd64/linux32_syscall.h \ src/sys/compat/linux32/arch/amd64/linux32_syscallargs.h \ src/sys/compat/linux32/arch/amd64/linux32_syscalls.c \ src/sys/compat/linux32/arch/amd64/linux32_sysent.c cvs rdiff -u -r1.9 -r1.10 \ src/sys/compat/linux32/arch/amd64/linux32_systrace_args.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/compat/linux/arch/alpha/linux_syscall.h diff -u src/sys/compat/linux/arch/alpha/linux_syscall.h:1.111 src/sys/compat/linux/arch/alpha/linux_syscall.h:1.112 --- src/sys/compat/linux/arch/alpha/linux_syscall.h:1.111 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/alpha/linux_syscall.h Sun Sep 19 23:52:07 2021 @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.111 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.112 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.98 2021/09/19 23:01:49 thorpej Exp + * created from NetBSD: syscalls.master,v 1.99 2021/09/19 23:51:36 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -720,6 +720,15 @@ /* 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: "dup3" ret: "int" args: "int" "int" "int" */ #define LINUX_SYS_dup3 487 Index: src/sys/compat/linux/arch/alpha/linux_sysent.c diff -u src/sys/compat/linux/arch/alpha/linux_sysent.c:1.111 src/sys/compat/linux/arch/alpha/linux_sysent.c:1.112 --- src/sys/compat/linux/arch/alpha/linux_sysent.c:1.111 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/alpha/linux_sysent.c Sun Sep 19 23:52:07 2021 @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.111 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.112 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.98 2021/09/19 23:01:49 thorpej Exp + * created from NetBSD: syscalls.master,v 1.99 2021/09/19 23:51:36 thorpej Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.111 2021/09/19 23:02:22 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.112 2021/09/19 23:52:07 thorpej Exp $"); #if defined(_KERNEL_OPT) #include "opt_sysv.h" @@ -1917,14 +1917,19 @@ 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 */ Index: src/sys/compat/linux/arch/alpha/linux_syscallargs.h diff -u src/sys/compat/linux/arch/alpha/linux_syscallargs.h:1.110 src/sys/compat/linux/arch/alpha/linux_syscallargs.h:1.111 --- src/sys/compat/linux/arch/alpha/linux_syscallargs.h:1.110 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/alpha/linux_syscallargs.h Sun Sep 19 23:52:07 2021 @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.110 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.111 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.98 2021/09/19 23:01:49 thorpej Exp + * created from NetBSD: syscalls.master,v 1.99 2021/09/19 23:51:36 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -1150,6 +1150,26 @@ 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 *) tim; + syscallarg(struct linux_itimerspec *) otim; +}; +check_syscall_args(linux_sys_timerfd_settime) + +struct linux_sys_timerfd_gettime_args { + syscallarg(int) fd; + syscallarg(struct linux_itimerspec *) tim; +}; +check_syscall_args(linux_sys_timerfd_gettime) + struct linux_sys_dup3_args { syscallarg(int) from; syscallarg(int) to; @@ -1659,6 +1679,12 @@ int linux_sys_recvmmsg(struct lwp *, con 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_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 *); Index: src/sys/compat/linux/arch/alpha/linux_syscalls.c diff -u src/sys/compat/linux/arch/alpha/linux_syscalls.c:1.112 src/sys/compat/linux/arch/alpha/linux_syscalls.c:1.113 --- src/sys/compat/linux/arch/alpha/linux_syscalls.c:1.112 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/alpha/linux_syscalls.c Sun Sep 19 23:52:07 2021 @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.112 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.113 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.98 2021/09/19 23:01:49 thorpej Exp + * created from NetBSD: syscalls.master,v 1.99 2021/09/19 23:51:36 thorpej Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.112 2021/09/19 23:02:22 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.113 2021/09/19 23:52:07 thorpej Exp $"); #if defined(_KERNEL_OPT) #if defined(_KERNEL_OPT) @@ -540,9 +540,9 @@ const char *const linux_syscallnames[] = /* 478 */ "#478 (unimplemented 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)", /* 486 */ "#486 (unimplemented epoll_create1)", @@ -1081,9 +1081,9 @@ const char *const altlinux_syscallnames[ /* 478 */ NULL, /* unimplemented 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 */ /* 486 */ NULL, /* unimplemented epoll_create1 */ Index: src/sys/compat/linux/arch/amd64/linux_syscall.h diff -u src/sys/compat/linux/arch/amd64/linux_syscall.h:1.72 src/sys/compat/linux/arch/amd64/linux_syscall.h:1.73 --- src/sys/compat/linux/arch/amd64/linux_syscall.h:1.72 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/amd64/linux_syscall.h Sun Sep 19 23:52:07 2021 @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.72 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.73 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.63 2021/09/19 23:01:49 thorpej Exp + * created from NetBSD: syscalls.master,v 1.64 2021/09/19 23:51:36 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -660,9 +660,18 @@ /* 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: "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 Index: src/sys/compat/linux/arch/amd64/linux_syscallargs.h diff -u src/sys/compat/linux/arch/amd64/linux_syscallargs.h:1.72 src/sys/compat/linux/arch/amd64/linux_syscallargs.h:1.73 --- src/sys/compat/linux/arch/amd64/linux_syscallargs.h:1.72 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/amd64/linux_syscallargs.h Sun Sep 19 23:52:07 2021 @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.72 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.73 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.63 2021/09/19 23:01:49 thorpej Exp + * created from NetBSD: syscalls.master,v 1.64 2021/09/19 23:51:36 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -1023,6 +1023,12 @@ 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_fallocate_args { syscallarg(int) fd; syscallarg(int) mode; @@ -1031,6 +1037,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 *) tim; + syscallarg(struct linux_itimerspec *) otim; +}; +check_syscall_args(linux_sys_timerfd_settime) + +struct linux_sys_timerfd_gettime_args { + syscallarg(int) fd; + syscallarg(struct linux_itimerspec *) tim; +}; +check_syscall_args(linux_sys_timerfd_gettime) + struct linux_sys_accept4_args { syscallarg(int) s; syscallarg(struct osockaddr *) name; @@ -1510,8 +1530,14 @@ int sys___futex_get_robust_list(struct l 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_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_dup3(struct lwp *, const struct linux_sys_dup3_args *, register_t *); Index: src/sys/compat/linux/arch/amd64/linux_syscalls.c diff -u src/sys/compat/linux/arch/amd64/linux_syscalls.c:1.72 src/sys/compat/linux/arch/amd64/linux_syscalls.c:1.73 --- src/sys/compat/linux/arch/amd64/linux_syscalls.c:1.72 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/amd64/linux_syscalls.c Sun Sep 19 23:52:07 2021 @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.72 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.73 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.63 2021/09/19 23:01:49 thorpej Exp + * created from NetBSD: syscalls.master,v 1.64 2021/09/19 23:51:36 thorpej Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.72 2021/09/19 23:02:22 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.73 2021/09/19 23:52:07 thorpej Exp $"); #if defined(_KERNEL_OPT) #if defined(_KERNEL_OPT) @@ -349,11 +349,11 @@ const char *const linux_syscallnames[] = /* 280 */ "utimensat", /* 281 */ "#281 (unimplemented epoll_pwait)", /* 282 */ "#282 (unimplemented signalfd)", - /* 283 */ "#283 (unimplemented timerfd_create)", + /* 283 */ "timerfd_create", /* 284 */ "#284 (unimplemented 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)", @@ -893,11 +893,11 @@ const char *const altlinux_syscallnames[ /* 280 */ NULL, /* utimensat */ /* 281 */ NULL, /* unimplemented epoll_pwait */ /* 282 */ NULL, /* unimplemented signalfd */ - /* 283 */ NULL, /* unimplemented timerfd_create */ + /* 283 */ NULL, /* timerfd_create */ /* 284 */ NULL, /* unimplemented 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 */ Index: src/sys/compat/linux/arch/amd64/linux_sysent.c diff -u src/sys/compat/linux/arch/amd64/linux_sysent.c:1.72 src/sys/compat/linux/arch/amd64/linux_sysent.c:1.73 --- src/sys/compat/linux/arch/amd64/linux_sysent.c:1.72 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/amd64/linux_sysent.c Sun Sep 19 23:52:07 2021 @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.72 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.73 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.63 2021/09/19 23:01:49 thorpej Exp + * created from NetBSD: syscalls.master,v 1.64 2021/09/19 23:51:36 thorpej Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.72 2021/09/19 23:02:22 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.73 2021/09/19 23:52:07 thorpej Exp $"); #if defined(_KERNEL_OPT) #include "opt_sysv.h" @@ -1281,8 +1281,9 @@ 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 */ @@ -1292,11 +1293,15 @@ struct sysent linux_sysent[] = { .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, Index: src/sys/compat/linux/arch/amd64/linux_systrace_args.c diff -u src/sys/compat/linux/arch/amd64/linux_systrace_args.c:1.16 src/sys/compat/linux/arch/amd64/linux_systrace_args.c:1.17 --- src/sys/compat/linux/arch/amd64/linux_systrace_args.c:1.16 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/amd64/linux_systrace_args.c Sun Sep 19 23:52:07 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_systrace_args.c,v 1.16 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_systrace_args.c,v 1.17 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call argument to DTrace register array conversion. @@ -1784,6 +1784,14 @@ systrace_args(register_t sysnum, const v *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_fallocate */ case 285: { const struct linux_sys_fallocate_args *p = params; @@ -1794,6 +1802,24 @@ systrace_args(register_t sysnum, const v *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, tim); /* const struct linux_itimerspec * */ + uarg[3] = (intptr_t) SCARG(p, otim); /* 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, tim); /* struct linux_itimerspec * */ + *n_args = 2; + break; + } /* linux_sys_accept4 */ case 288: { const struct linux_sys_accept4_args *p = params; @@ -4806,6 +4832,19 @@ systrace_entry_setargdesc(int sysnum, in 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_fallocate */ case 285: switch(ndx) { @@ -4825,6 +4864,38 @@ systrace_entry_setargdesc(int sysnum, in 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) { @@ -5950,11 +6021,26 @@ systrace_return_setargdesc(int sysnum, i if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_timerfd_create */ + case 283: + 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) Index: src/sys/compat/linux/arch/arm/linux_syscall.h diff -u src/sys/compat/linux/arch/arm/linux_syscall.h:1.83 src/sys/compat/linux/arch/arm/linux_syscall.h:1.84 --- src/sys/compat/linux/arch/arm/linux_syscall.h:1.83 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/arm/linux_syscall.h Sun Sep 19 23:52:07 2021 @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.83 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.84 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.70 2021/09/19 23:01:49 thorpej Exp + * created from NetBSD: syscalls.master,v 1.71 2021/09/19 23:51:36 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -718,9 +718,18 @@ /* 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: "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: "dup3" ret: "int" args: "int" "int" "int" */ #define LINUX_SYS_dup3 358 Index: src/sys/compat/linux/arch/arm/linux_syscallargs.h diff -u src/sys/compat/linux/arch/arm/linux_syscallargs.h:1.83 src/sys/compat/linux/arch/arm/linux_syscallargs.h:1.84 --- src/sys/compat/linux/arch/arm/linux_syscallargs.h:1.83 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/arm/linux_syscallargs.h Sun Sep 19 23:52:07 2021 @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.83 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.84 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.70 2021/09/19 23:01:49 thorpej Exp + * created from NetBSD: syscalls.master,v 1.71 2021/09/19 23:51:36 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -1097,6 +1097,12 @@ 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_fallocate_args { syscallarg(int) fd; syscallarg(int) mode; @@ -1105,6 +1111,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 *) tim; + syscallarg(struct linux_itimerspec *) otim; +}; +check_syscall_args(linux_sys_timerfd_settime) + +struct linux_sys_timerfd_gettime_args { + syscallarg(int) fd; + syscallarg(struct linux_itimerspec *) tim; +}; +check_syscall_args(linux_sys_timerfd_gettime) + struct linux_sys_dup3_args { syscallarg(int) from; syscallarg(int) to; @@ -1607,8 +1627,14 @@ int sys___futex_get_robust_list(struct l 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_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 *); Index: src/sys/compat/linux/arch/arm/linux_syscalls.c diff -u src/sys/compat/linux/arch/arm/linux_syscalls.c:1.83 src/sys/compat/linux/arch/arm/linux_syscalls.c:1.84 --- src/sys/compat/linux/arch/arm/linux_syscalls.c:1.83 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/arm/linux_syscalls.c Sun Sep 19 23:52:07 2021 @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.83 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.84 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.70 2021/09/19 23:01:49 thorpej Exp + * created from NetBSD: syscalls.master,v 1.71 2021/09/19 23:51:36 thorpej Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.83 2021/09/19 23:02:22 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.84 2021/09/19 23:52:07 thorpej Exp $"); #if defined(_KERNEL_OPT) #include <sys/param.h> @@ -385,11 +385,11 @@ const char *const linux_syscallnames[] = /* 347 */ "#347 (unimplemented kexec_load)", /* 348 */ "utimensat", /* 349 */ "#349 (unimplemented signalfd)", - /* 350 */ "#350 (unimplemented timerfd_create)", + /* 350 */ "timerfd_create", /* 351 */ "#351 (unimplemented 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)", /* 357 */ "#357 (unimplemented epoll_create1)", @@ -907,11 +907,11 @@ const char *const altlinux_syscallnames[ /* 347 */ NULL, /* unimplemented kexec_load */ /* 348 */ NULL, /* utimensat */ /* 349 */ NULL, /* unimplemented signalfd */ - /* 350 */ NULL, /* unimplemented timerfd_create */ + /* 350 */ NULL, /* timerfd_create */ /* 351 */ NULL, /* unimplemented 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 */ /* 357 */ NULL, /* unimplemented epoll_create1 */ Index: src/sys/compat/linux/arch/arm/linux_sysent.c diff -u src/sys/compat/linux/arch/arm/linux_sysent.c:1.83 src/sys/compat/linux/arch/arm/linux_sysent.c:1.84 --- src/sys/compat/linux/arch/arm/linux_sysent.c:1.83 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/arm/linux_sysent.c Sun Sep 19 23:52:07 2021 @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.83 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.84 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.70 2021/09/19 23:01:49 thorpej Exp + * created from NetBSD: syscalls.master,v 1.71 2021/09/19 23:51:36 thorpej Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.83 2021/09/19 23:02:22 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.84 2021/09/19 23:52:07 thorpej Exp $"); #include <sys/param.h> #include <sys/poll.h> @@ -1454,8 +1454,9 @@ 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 */ @@ -1465,11 +1466,15 @@ struct sysent linux_sysent[] = { .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 */ Index: src/sys/compat/linux/arch/arm/linux_systrace_args.c diff -u src/sys/compat/linux/arch/arm/linux_systrace_args.c:1.16 src/sys/compat/linux/arch/arm/linux_systrace_args.c:1.17 --- src/sys/compat/linux/arch/arm/linux_systrace_args.c:1.16 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/arm/linux_systrace_args.c Sun Sep 19 23:52:07 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_systrace_args.c,v 1.16 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_systrace_args.c,v 1.17 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call argument to DTrace register array conversion. @@ -1883,6 +1883,14 @@ systrace_args(register_t sysnum, const v *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_fallocate */ case 352: { const struct linux_sys_fallocate_args *p = params; @@ -1893,6 +1901,24 @@ systrace_args(register_t sysnum, const v *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, tim); /* const struct linux_itimerspec * */ + uarg[3] = (intptr_t) SCARG(p, otim); /* 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, tim); /* struct linux_itimerspec * */ + *n_args = 2; + break; + } /* linux_sys_dup3 */ case 358: { const struct linux_sys_dup3_args *p = params; @@ -5026,6 +5052,19 @@ systrace_entry_setargdesc(int sysnum, in 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_fallocate */ case 352: switch(ndx) { @@ -5045,6 +5084,38 @@ systrace_entry_setargdesc(int sysnum, in 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_dup3 */ case 358: switch(ndx) { @@ -6265,11 +6336,26 @@ systrace_return_setargdesc(int sysnum, i if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_timerfd_create */ + case 350: + 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_dup3 */ case 358: if (ndx == 0 || ndx == 1) Index: src/sys/compat/linux/arch/i386/linux_syscall.h diff -u src/sys/compat/linux/arch/i386/linux_syscall.h:1.117 src/sys/compat/linux/arch/i386/linux_syscall.h:1.118 --- src/sys/compat/linux/arch/i386/linux_syscall.h:1.117 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/i386/linux_syscall.h Sun Sep 19 23:52:07 2021 @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.117 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.118 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.125 2021/09/19 23:01:50 thorpej Exp + * created from NetBSD: syscalls.master,v 1.126 2021/09/19 23:51:36 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -740,9 +740,18 @@ /* 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: "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: "dup3" ret: "int" args: "int" "int" "int" */ #define LINUX_SYS_dup3 330 Index: src/sys/compat/linux/arch/i386/linux_syscallargs.h diff -u src/sys/compat/linux/arch/i386/linux_syscallargs.h:1.117 src/sys/compat/linux/arch/i386/linux_syscallargs.h:1.118 --- src/sys/compat/linux/arch/i386/linux_syscallargs.h:1.117 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/i386/linux_syscallargs.h Sun Sep 19 23:52:07 2021 @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.117 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.118 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.125 2021/09/19 23:01:50 thorpej Exp + * created from NetBSD: syscalls.master,v 1.126 2021/09/19 23:51:36 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -1144,6 +1144,12 @@ 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_fallocate_args { syscallarg(int) fd; syscallarg(int) mode; @@ -1152,6 +1158,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 *) tim; + syscallarg(struct linux_itimerspec *) otim; +}; +check_syscall_args(linux_sys_timerfd_settime) + +struct linux_sys_timerfd_gettime_args { + syscallarg(int) fd; + syscallarg(struct linux_itimerspec *) tim; +}; +check_syscall_args(linux_sys_timerfd_gettime) + struct linux_sys_dup3_args { syscallarg(int) from; syscallarg(int) to; @@ -1633,8 +1653,14 @@ int sys___futex_get_robust_list(struct l 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_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 *); Index: src/sys/compat/linux/arch/i386/linux_sysent.c diff -u src/sys/compat/linux/arch/i386/linux_sysent.c:1.117 src/sys/compat/linux/arch/i386/linux_sysent.c:1.118 --- src/sys/compat/linux/arch/i386/linux_sysent.c:1.117 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/i386/linux_sysent.c Sun Sep 19 23:52:07 2021 @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.117 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.118 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.125 2021/09/19 23:01:50 thorpej Exp + * created from NetBSD: syscalls.master,v 1.126 2021/09/19 23:51:36 thorpej Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.117 2021/09/19 23:02:22 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.118 2021/09/19 23:52:07 thorpej Exp $"); #include <sys/param.h> #include <sys/poll.h> @@ -1383,8 +1383,9 @@ 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 */ @@ -1394,11 +1395,15 @@ struct sysent linux_sysent[] = { .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 */ Index: src/sys/compat/linux/arch/i386/linux_syscalls.c diff -u src/sys/compat/linux/arch/i386/linux_syscalls.c:1.118 src/sys/compat/linux/arch/i386/linux_syscalls.c:1.119 --- src/sys/compat/linux/arch/i386/linux_syscalls.c:1.118 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/i386/linux_syscalls.c Sun Sep 19 23:52:07 2021 @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.118 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.119 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.125 2021/09/19 23:01:50 thorpej Exp + * created from NetBSD: syscalls.master,v 1.126 2021/09/19 23:51:36 thorpej Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.118 2021/09/19 23:02:22 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.119 2021/09/19 23:52:07 thorpej Exp $"); #if defined(_KERNEL_OPT) #include <sys/param.h> @@ -356,11 +356,11 @@ const char *const linux_syscallnames[] = /* 319 */ "#319 (unimplemented epoll_wait)", /* 320 */ "utimensat", /* 321 */ "#321 (unimplemented signalfd)", - /* 322 */ "#322 (unimplemented timerfd_create)", + /* 322 */ "timerfd_create", /* 323 */ "#323 (unimplemented 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)", /* 329 */ "#329 (unimplemented epoll_create1)", @@ -878,11 +878,11 @@ const char *const altlinux_syscallnames[ /* 319 */ NULL, /* unimplemented epoll_wait */ /* 320 */ NULL, /* utimensat */ /* 321 */ NULL, /* unimplemented signalfd */ - /* 322 */ NULL, /* unimplemented timerfd_create */ + /* 322 */ NULL, /* timerfd_create */ /* 323 */ NULL, /* unimplemented 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 */ /* 329 */ NULL, /* unimplemented epoll_create1 */ Index: src/sys/compat/linux/arch/i386/linux_systrace_args.c diff -u src/sys/compat/linux/arch/i386/linux_systrace_args.c:1.12 src/sys/compat/linux/arch/i386/linux_systrace_args.c:1.13 --- src/sys/compat/linux/arch/i386/linux_systrace_args.c:1.12 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/i386/linux_systrace_args.c Sun Sep 19 23:52:07 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux_systrace_args.c,v 1.12 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_systrace_args.c,v 1.13 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call argument to DTrace register array conversion. @@ -1946,6 +1946,14 @@ systrace_args(register_t sysnum, const v *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_fallocate */ case 324: { const struct linux_sys_fallocate_args *p = params; @@ -1956,6 +1964,24 @@ systrace_args(register_t sysnum, const v *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, tim); /* const struct linux_itimerspec * */ + uarg[3] = (intptr_t) SCARG(p, otim); /* 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, tim); /* struct linux_itimerspec * */ + *n_args = 2; + break; + } /* linux_sys_dup3 */ case 330: { const struct linux_sys_dup3_args *p = params; @@ -5138,6 +5164,19 @@ systrace_entry_setargdesc(int sysnum, in 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_fallocate */ case 324: switch(ndx) { @@ -5157,6 +5196,38 @@ systrace_entry_setargdesc(int sysnum, in 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_dup3 */ case 330: switch(ndx) { @@ -6328,11 +6399,26 @@ systrace_return_setargdesc(int sysnum, i if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_timerfd_create */ + case 322: + 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_dup3 */ case 330: if (ndx == 0 || ndx == 1) Index: src/sys/compat/linux/arch/m68k/linux_syscall.h diff -u src/sys/compat/linux/arch/m68k/linux_syscall.h:1.109 src/sys/compat/linux/arch/m68k/linux_syscall.h:1.110 --- src/sys/compat/linux/arch/m68k/linux_syscall.h:1.109 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/m68k/linux_syscall.h Sun Sep 19 23:52:07 2021 @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.109 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.110 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.96 2021/09/19 23:01:50 thorpej Exp + * created from NetBSD: syscalls.master,v 1.97 2021/09/19 23:51:36 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -729,9 +729,18 @@ /* 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: "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: "dup3" ret: "int" args: "int" "int" "int" */ #define LINUX_SYS_dup3 326 Index: src/sys/compat/linux/arch/m68k/linux_syscalls.c diff -u src/sys/compat/linux/arch/m68k/linux_syscalls.c:1.109 src/sys/compat/linux/arch/m68k/linux_syscalls.c:1.110 --- src/sys/compat/linux/arch/m68k/linux_syscalls.c:1.109 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/m68k/linux_syscalls.c Sun Sep 19 23:52:07 2021 @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.109 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.110 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.96 2021/09/19 23:01:50 thorpej Exp + * created from NetBSD: syscalls.master,v 1.97 2021/09/19 23:51:36 thorpej Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.109 2021/09/19 23:02:22 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.110 2021/09/19 23:52:07 thorpej Exp $"); #if defined(_KERNEL_OPT) #if defined(_KERNEL_OPT) @@ -372,11 +372,11 @@ const char *const linux_syscallnames[] = /* 315 */ "#315 (unimplemented epoll_wait)", /* 316 */ "utimensat", /* 317 */ "#317 (unimplemented signalfd)", - /* 318 */ "#318 (unimplemented timerfd_create)", + /* 318 */ "timerfd_create", /* 319 */ "#319 (unimplemented 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)", /* 325 */ "#325 (unimplemented epoll_create1)", @@ -910,11 +910,11 @@ const char *const altlinux_syscallnames[ /* 315 */ NULL, /* unimplemented epoll_wait */ /* 316 */ NULL, /* utimensat */ /* 317 */ NULL, /* unimplemented signalfd */ - /* 318 */ NULL, /* unimplemented timerfd_create */ + /* 318 */ NULL, /* timerfd_create */ /* 319 */ NULL, /* unimplemented 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 */ /* 325 */ NULL, /* unimplemented epoll_create1 */ Index: src/sys/compat/linux/arch/m68k/linux_sysent.c diff -u src/sys/compat/linux/arch/m68k/linux_sysent.c:1.109 src/sys/compat/linux/arch/m68k/linux_sysent.c:1.110 --- src/sys/compat/linux/arch/m68k/linux_sysent.c:1.109 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/m68k/linux_sysent.c Sun Sep 19 23:52:07 2021 @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.109 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.110 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.96 2021/09/19 23:01:50 thorpej Exp + * created from NetBSD: syscalls.master,v 1.97 2021/09/19 23:51:36 thorpej Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.109 2021/09/19 23:02:22 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.110 2021/09/19 23:52:07 thorpej Exp $"); #if defined(_KERNEL_OPT) #include "opt_compat_netbsd.h" @@ -1381,8 +1381,9 @@ 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 */ @@ -1392,11 +1393,15 @@ struct sysent linux_sysent[] = { .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 */ Index: src/sys/compat/linux/arch/m68k/linux_syscallargs.h diff -u src/sys/compat/linux/arch/m68k/linux_syscallargs.h:1.108 src/sys/compat/linux/arch/m68k/linux_syscallargs.h:1.109 --- src/sys/compat/linux/arch/m68k/linux_syscallargs.h:1.108 Sun Sep 19 23:02:22 2021 +++ src/sys/compat/linux/arch/m68k/linux_syscallargs.h Sun Sep 19 23:52:07 2021 @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.108 2021/09/19 23:02:22 thorpej Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.109 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.96 2021/09/19 23:01:50 thorpej Exp + * created from NetBSD: syscalls.master,v 1.97 2021/09/19 23:51:36 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -1105,6 +1105,12 @@ 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_fallocate_args { syscallarg(int) fd; syscallarg(int) mode; @@ -1113,6 +1119,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 *) tim; + syscallarg(struct linux_itimerspec *) otim; +}; +check_syscall_args(linux_sys_timerfd_settime) + +struct linux_sys_timerfd_gettime_args { + syscallarg(int) fd; + syscallarg(struct linux_itimerspec *) tim; +}; +check_syscall_args(linux_sys_timerfd_gettime) + struct linux_sys_dup3_args { syscallarg(int) from; syscallarg(int) to; @@ -1615,8 +1635,14 @@ int linux_sys_sched_getaffinity(struct l 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_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 *); Index: src/sys/compat/linux/arch/mips/linux_syscall.h diff -u src/sys/compat/linux/arch/mips/linux_syscall.h:1.81 src/sys/compat/linux/arch/mips/linux_syscall.h:1.82 --- src/sys/compat/linux/arch/mips/linux_syscall.h:1.81 Sun Sep 19 23:02:23 2021 +++ src/sys/compat/linux/arch/mips/linux_syscall.h Sun Sep 19 23:52:07 2021 @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.81 2021/09/19 23:02:23 thorpej Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.82 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.69 2021/09/19 23:01:50 thorpej Exp + * created from NetBSD: syscalls.master,v 1.70 2021/09/19 23:51:37 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -700,6 +700,15 @@ /* 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: "dup3" ret: "int" args: "int" "int" "int" */ #define LINUX_SYS_dup3 327 Index: src/sys/compat/linux/arch/mips/linux_syscallargs.h diff -u src/sys/compat/linux/arch/mips/linux_syscallargs.h:1.80 src/sys/compat/linux/arch/mips/linux_syscallargs.h:1.81 --- src/sys/compat/linux/arch/mips/linux_syscallargs.h:1.80 Sun Sep 19 23:02:23 2021 +++ src/sys/compat/linux/arch/mips/linux_syscallargs.h Sun Sep 19 23:52:07 2021 @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.80 2021/09/19 23:02:23 thorpej Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.81 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.69 2021/09/19 23:01:50 thorpej Exp + * created from NetBSD: syscalls.master,v 1.70 2021/09/19 23:51:37 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -1151,6 +1151,26 @@ 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 *) tim; +}; +check_syscall_args(linux_sys_timerfd_gettime) + +struct linux_sys_timerfd_settime_args { + syscallarg(int) fd; + syscallarg(int) flags; + syscallarg(const struct linux_itimerspec *) tim; + syscallarg(struct linux_itimerspec *) otim; +}; +check_syscall_args(linux_sys_timerfd_settime) + struct linux_sys_dup3_args { syscallarg(int) from; syscallarg(int) to; @@ -1649,6 +1669,12 @@ int linux_sys_utimensat(struct lwp *, co 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_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 *); Index: src/sys/compat/linux/arch/mips/linux_syscalls.c diff -u src/sys/compat/linux/arch/mips/linux_syscalls.c:1.80 src/sys/compat/linux/arch/mips/linux_syscalls.c:1.81 --- src/sys/compat/linux/arch/mips/linux_syscalls.c:1.80 Sun Sep 19 23:02:23 2021 +++ src/sys/compat/linux/arch/mips/linux_syscalls.c Sun Sep 19 23:52:07 2021 @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.80 2021/09/19 23:02:23 thorpej Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.81 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.69 2021/09/19 23:01:50 thorpej Exp + * created from NetBSD: syscalls.master,v 1.70 2021/09/19 23:51:37 thorpej Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.80 2021/09/19 23:02:23 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.81 2021/09/19 23:52:07 thorpej Exp $"); #if defined(_KERNEL_OPT) #include <sys/param.h> @@ -351,9 +351,9 @@ const char *const linux_syscallnames[] = /* 318 */ "#318 (unimplemented timerfd)", /* 319 */ "#319 (unimplemented 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)", /* 326 */ "#326 (unimplemented epoll_create1)", @@ -868,9 +868,9 @@ const char *const altlinux_syscallnames[ /* 318 */ NULL, /* unimplemented timerfd */ /* 319 */ NULL, /* unimplemented 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 */ /* 326 */ NULL, /* unimplemented epoll_create1 */ Index: src/sys/compat/linux/arch/mips/linux_sysent.c diff -u src/sys/compat/linux/arch/mips/linux_sysent.c:1.80 src/sys/compat/linux/arch/mips/linux_sysent.c:1.81 --- src/sys/compat/linux/arch/mips/linux_sysent.c:1.80 Sun Sep 19 23:02:23 2021 +++ src/sys/compat/linux/arch/mips/linux_sysent.c Sun Sep 19 23:52:07 2021 @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.80 2021/09/19 23:02:23 thorpej Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.81 2021/09/19 23:52:07 thorpej Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.69 2021/09/19 23:01:50 thorpej Exp + * created from NetBSD: syscalls.master,v 1.70 2021/09/19 23:51:37 thorpej Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.80 2021/09/19 23:02:23 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.81 2021/09/19 23:52:07 thorpej Exp $"); #include <sys/param.h> #include <sys/poll.h> @@ -1370,14 +1370,19 @@ struct sysent linux_sysent[] = { .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 */ Index: src/sys/compat/linux/arch/powerpc/linux_syscall.h diff -u src/sys/compat/linux/arch/powerpc/linux_syscall.h:1.87 src/sys/compat/linux/arch/powerpc/linux_syscall.h:1.88 --- src/sys/compat/linux/arch/powerpc/linux_syscall.h:1.87 Sun Sep 19 23:02:23 2021 +++ src/sys/compat/linux/arch/powerpc/linux_syscall.h Sun Sep 19 23:52:08 2021 @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscall.h,v 1.87 2021/09/19 23:02:23 thorpej Exp $ */ +/* $NetBSD: linux_syscall.h,v 1.88 2021/09/19 23:52:08 thorpej Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.75 2021/09/19 23:01:50 thorpej Exp + * created from NetBSD: syscalls.master,v 1.76 2021/09/19 23:51:37 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALL_H_ @@ -666,9 +666,18 @@ /* 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: "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 Index: src/sys/compat/linux/arch/powerpc/linux_sysent.c diff -u src/sys/compat/linux/arch/powerpc/linux_sysent.c:1.87 src/sys/compat/linux/arch/powerpc/linux_sysent.c:1.88 --- src/sys/compat/linux/arch/powerpc/linux_sysent.c:1.87 Sun Sep 19 23:02:23 2021 +++ src/sys/compat/linux/arch/powerpc/linux_sysent.c Sun Sep 19 23:52:08 2021 @@ -1,14 +1,14 @@ -/* $NetBSD: linux_sysent.c,v 1.87 2021/09/19 23:02:23 thorpej Exp $ */ +/* $NetBSD: linux_sysent.c,v 1.88 2021/09/19 23:52:08 thorpej Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.75 2021/09/19 23:01:50 thorpej Exp + * created from NetBSD: syscalls.master,v 1.76 2021/09/19 23:51:37 thorpej Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.87 2021/09/19 23:02:23 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.88 2021/09/19 23:52:08 thorpej Exp $"); #include <sys/param.h> #include <sys/poll.h> @@ -1302,8 +1302,9 @@ 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 */ @@ -1319,11 +1320,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 */ Index: src/sys/compat/linux/arch/powerpc/linux_syscallargs.h diff -u src/sys/compat/linux/arch/powerpc/linux_syscallargs.h:1.86 src/sys/compat/linux/arch/powerpc/linux_syscallargs.h:1.87 --- src/sys/compat/linux/arch/powerpc/linux_syscallargs.h:1.86 Sun Sep 19 23:02:23 2021 +++ src/sys/compat/linux/arch/powerpc/linux_syscallargs.h Sun Sep 19 23:52:08 2021 @@ -1,10 +1,10 @@ -/* $NetBSD: linux_syscallargs.h,v 1.86 2021/09/19 23:02:23 thorpej Exp $ */ +/* $NetBSD: linux_syscallargs.h,v 1.87 2021/09/19 23:52:08 thorpej Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.75 2021/09/19 23:01:50 thorpej Exp + * created from NetBSD: syscalls.master,v 1.76 2021/09/19 23:51:37 thorpej Exp */ #ifndef _LINUX_SYS_SYSCALLARGS_H_ @@ -1030,6 +1030,12 @@ 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_fallocate_args { syscallarg(int) fd; syscallarg(int) mode; @@ -1038,6 +1044,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 *) tim; + syscallarg(struct linux_itimerspec *) otim; +}; +check_syscall_args(linux_sys_timerfd_settime) + +struct linux_sys_timerfd_gettime_args { + syscallarg(int) fd; + syscallarg(struct linux_itimerspec *) tim; +}; +check_syscall_args(linux_sys_timerfd_gettime) + struct linux_sys_dup3_args { syscallarg(int) from; syscallarg(int) to; @@ -1510,8 +1530,14 @@ int sys___futex_get_robust_list(struct l 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_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 *); Index: src/sys/compat/linux/arch/powerpc/linux_syscalls.c diff -u src/sys/compat/linux/arch/powerpc/linux_syscalls.c:1.86 src/sys/compat/linux/arch/powerpc/linux_syscalls.c:1.87 --- src/sys/compat/linux/arch/powerpc/linux_syscalls.c:1.86 Sun Sep 19 23:02:23 2021 +++ src/sys/compat/linux/arch/powerpc/linux_syscalls.c Sun Sep 19 23:52:08 2021 @@ -1,14 +1,14 @@ -/* $NetBSD: linux_syscalls.c,v 1.86 2021/09/19 23:02:23 thorpej Exp $ */ +/* $NetBSD: linux_syscalls.c,v 1.87 2021/09/19 23:52:08 thorpej Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.75 2021/09/19 23:01:50 thorpej Exp + * created from NetBSD: syscalls.master,v 1.76 2021/09/19 23:51:37 thorpej Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.86 2021/09/19 23:02:23 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.87 2021/09/19 23:52:08 thorpej Exp $"); #if defined(_KERNEL_OPT) #include <sys/param.h> @@ -339,13 +339,13 @@ const char *const linux_syscallnames[] = /* 303 */ "#303 (unimplemented epoll_wait)", /* 304 */ "utimensat", /* 305 */ "#305 (unimplemented signalfd)", - /* 306 */ "#306 (unimplemented timerfd_create)", + /* 306 */ "timerfd_create", /* 307 */ "#307 (unimplemented 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)", /* 315 */ "#315 (unimplemented epoll_create1)", @@ -861,13 +861,13 @@ const char *const altlinux_syscallnames[ /* 303 */ NULL, /* unimplemented epoll_wait */ /* 304 */ NULL, /* utimensat */ /* 305 */ NULL, /* unimplemented signalfd */ - /* 306 */ NULL, /* unimplemented timerfd_create */ + /* 306 */ NULL, /* timerfd_create */ /* 307 */ NULL, /* unimplemented 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 */ /* 315 */ NULL, /* unimplemented epoll_create1 */ Index: src/sys/compat/linux32/arch/amd64/linux32_syscall.h diff -u src/sys/compat/linux32/arch/amd64/linux32_syscall.h:1.82 src/sys/compat/linux32/arch/amd64/linux32_syscall.h:1.83 --- src/sys/compat/linux32/arch/amd64/linux32_syscall.h:1.82 Sun Sep 19 23:02:23 2021 +++ src/sys/compat/linux32/arch/amd64/linux32_syscall.h Sun Sep 19 23:52:08 2021 @@ -1,10 +1,10 @@ -/* $NetBSD: linux32_syscall.h,v 1.82 2021/09/19 23:02:23 thorpej Exp $ */ +/* $NetBSD: linux32_syscall.h,v 1.83 2021/09/19 23:52:08 thorpej Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.72 2021/09/19 23:01:50 thorpej Exp + * created from NetBSD: syscalls.master,v 1.73 2021/09/19 23:51:37 thorpej Exp */ #ifndef _LINUX32_SYS_SYSCALL_H_ @@ -717,9 +717,18 @@ /* syscall: "utimensat" ret: "int" args: "int" "netbsd32_charp" "linux32_timespecp_t" "int" */ #define LINUX32_SYS_utimensat 320 +/* syscall: "timerfd_create" ret: "int" args: "clockid_t" "int" */ +#define LINUX32_SYS_timerfd_create 322 + /* syscall: "fallocate" ret: "int" args: "int" "int" "off_t" "off_t" */ #define LINUX32_SYS_fallocate 324 +/* syscall: "timerfd_settime" ret: "int" args: "int" "int" "const struct linux32_itimerspec *" "struct linux32_itimerspec *" */ +#define LINUX32_SYS_timerfd_settime 325 + +/* syscall: "timerfd_gettime" ret: "int" args: "int" "struct linux32_itimerspec *" */ +#define LINUX32_SYS_timerfd_gettime 326 + /* syscall: "dup3" ret: "int" args: "int" "int" "int" */ #define LINUX32_SYS_dup3 330 Index: src/sys/compat/linux32/arch/amd64/linux32_syscallargs.h diff -u src/sys/compat/linux32/arch/amd64/linux32_syscallargs.h:1.82 src/sys/compat/linux32/arch/amd64/linux32_syscallargs.h:1.83 --- src/sys/compat/linux32/arch/amd64/linux32_syscallargs.h:1.82 Sun Sep 19 23:02:23 2021 +++ src/sys/compat/linux32/arch/amd64/linux32_syscallargs.h Sun Sep 19 23:52:08 2021 @@ -1,10 +1,10 @@ -/* $NetBSD: linux32_syscallargs.h,v 1.82 2021/09/19 23:02:23 thorpej Exp $ */ +/* $NetBSD: linux32_syscallargs.h,v 1.83 2021/09/19 23:52:08 thorpej Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.72 2021/09/19 23:01:50 thorpej Exp + * created from NetBSD: syscalls.master,v 1.73 2021/09/19 23:51:37 thorpej Exp */ #ifndef _LINUX32_SYS_SYSCALLARGS_H_ @@ -1029,6 +1029,8 @@ struct linux32_sys_utimensat_args { }; check_syscall_args(linux32_sys_utimensat) +struct linux_sys_timerfd_create_args; + struct linux32_sys_fallocate_args { syscallarg(int) fd; syscallarg(int) mode; @@ -1037,6 +1039,20 @@ struct linux32_sys_fallocate_args { }; check_syscall_args(linux32_sys_fallocate) +struct linux32_sys_timerfd_settime_args { + syscallarg(int) fd; + syscallarg(int) flags; + syscallarg(const struct linux32_itimerspec *) tim; + syscallarg(struct linux32_itimerspec *) otim; +}; +check_syscall_args(linux32_sys_timerfd_settime) + +struct linux32_sys_timerfd_gettime_args { + syscallarg(int) fd; + syscallarg(struct linux32_itimerspec *) tim; +}; +check_syscall_args(linux32_sys_timerfd_gettime) + struct linux32_sys_dup3_args { syscallarg(int) from; syscallarg(int) to; @@ -1502,8 +1518,14 @@ int netbsd32___futex_get_robust_list(str int linux32_sys_utimensat(struct lwp *, const struct linux32_sys_utimensat_args *, register_t *); +int linux_sys_timerfd_create(struct lwp *, const struct linux_sys_timerfd_create_args *, register_t *); + int linux32_sys_fallocate(struct lwp *, const struct linux32_sys_fallocate_args *, register_t *); +int linux32_sys_timerfd_settime(struct lwp *, const struct linux32_sys_timerfd_settime_args *, register_t *); + +int linux32_sys_timerfd_gettime(struct lwp *, const struct linux32_sys_timerfd_gettime_args *, register_t *); + int linux32_sys_dup3(struct lwp *, const struct linux32_sys_dup3_args *, register_t *); int linux32_sys_pipe2(struct lwp *, const struct linux32_sys_pipe2_args *, register_t *); Index: src/sys/compat/linux32/arch/amd64/linux32_syscalls.c diff -u src/sys/compat/linux32/arch/amd64/linux32_syscalls.c:1.82 src/sys/compat/linux32/arch/amd64/linux32_syscalls.c:1.83 --- src/sys/compat/linux32/arch/amd64/linux32_syscalls.c:1.82 Sun Sep 19 23:02:23 2021 +++ src/sys/compat/linux32/arch/amd64/linux32_syscalls.c Sun Sep 19 23:52:08 2021 @@ -1,14 +1,14 @@ -/* $NetBSD: linux32_syscalls.c,v 1.82 2021/09/19 23:02:23 thorpej Exp $ */ +/* $NetBSD: linux32_syscalls.c,v 1.83 2021/09/19 23:52:08 thorpej Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.72 2021/09/19 23:01:50 thorpej Exp + * created from NetBSD: syscalls.master,v 1.73 2021/09/19 23:51:37 thorpej Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux32_syscalls.c,v 1.82 2021/09/19 23:02:23 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux32_syscalls.c,v 1.83 2021/09/19 23:52:08 thorpej Exp $"); #if defined(_KERNEL_OPT) #include <sys/param.h> @@ -361,11 +361,11 @@ const char *const linux32_syscallnames[] /* 319 */ "#319 (unimplemented epoll_wait)", /* 320 */ "utimensat", /* 321 */ "#321 (unimplemented signalfd)", - /* 322 */ "#322 (unimplemented timerfd_create)", + /* 322 */ "timerfd_create", /* 323 */ "#323 (unimplemented 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)", /* 329 */ "#329 (unimplemented epoll_create1)", @@ -880,11 +880,11 @@ const char *const altlinux32_syscallname /* 319 */ NULL, /* unimplemented epoll_wait */ /* 320 */ NULL, /* utimensat */ /* 321 */ NULL, /* unimplemented signalfd */ - /* 322 */ NULL, /* unimplemented timerfd_create */ + /* 322 */ NULL, /* timerfd_create */ /* 323 */ NULL, /* unimplemented 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 */ /* 329 */ NULL, /* unimplemented epoll_create1 */ Index: src/sys/compat/linux32/arch/amd64/linux32_sysent.c diff -u src/sys/compat/linux32/arch/amd64/linux32_sysent.c:1.82 src/sys/compat/linux32/arch/amd64/linux32_sysent.c:1.83 --- src/sys/compat/linux32/arch/amd64/linux32_sysent.c:1.82 Sun Sep 19 23:02:23 2021 +++ src/sys/compat/linux32/arch/amd64/linux32_sysent.c Sun Sep 19 23:52:08 2021 @@ -1,14 +1,14 @@ -/* $NetBSD: linux32_sysent.c,v 1.82 2021/09/19 23:02:23 thorpej Exp $ */ +/* $NetBSD: linux32_sysent.c,v 1.83 2021/09/19 23:52:08 thorpej Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.72 2021/09/19 23:01:50 thorpej Exp + * created from NetBSD: syscalls.master,v 1.73 2021/09/19 23:51:37 thorpej Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: linux32_sysent.c,v 1.82 2021/09/19 23:02:23 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: linux32_sysent.c,v 1.83 2021/09/19 23:52:08 thorpej Exp $"); #include <sys/param.h> #include <sys/poll.h> @@ -1221,8 +1221,9 @@ struct sysent linux32_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 */ @@ -1232,11 +1233,15 @@ struct sysent linux32_sysent[] = { .sy_call = (sy_call_t *)linux32_sys_fallocate }, /* 324 = fallocate */ { - .sy_call = linux_sys_nosys, - }, /* 325 = filler */ + ns(struct linux32_sys_timerfd_settime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux32_sys_timerfd_settime + }, /* 325 = timerfd_settime */ { - .sy_call = linux_sys_nosys, - }, /* 326 = filler */ + ns(struct linux32_sys_timerfd_gettime_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)linux32_sys_timerfd_gettime + }, /* 326 = timerfd_gettime */ { .sy_call = linux_sys_nosys, }, /* 327 = filler */ Index: src/sys/compat/linux32/arch/amd64/linux32_systrace_args.c diff -u src/sys/compat/linux32/arch/amd64/linux32_systrace_args.c:1.9 src/sys/compat/linux32/arch/amd64/linux32_systrace_args.c:1.10 --- src/sys/compat/linux32/arch/amd64/linux32_systrace_args.c:1.9 Sun Sep 19 23:02:23 2021 +++ src/sys/compat/linux32/arch/amd64/linux32_systrace_args.c Sun Sep 19 23:52:08 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: linux32_systrace_args.c,v 1.9 2021/09/19 23:02:23 thorpej Exp $ */ +/* $NetBSD: linux32_systrace_args.c,v 1.10 2021/09/19 23:52:08 thorpej Exp $ */ /* * System call argument to DTrace register array conversion. @@ -1888,6 +1888,14 @@ systrace_args(register_t sysnum, const v *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; + } /* linux32_sys_fallocate */ case 324: { const struct linux32_sys_fallocate_args *p = params; @@ -1898,6 +1906,24 @@ systrace_args(register_t sysnum, const v *n_args = 4; break; } + /* linux32_sys_timerfd_settime */ + case 325: { + const struct linux32_sys_timerfd_settime_args *p = params; + iarg[0] = SCARG(p, fd); /* int */ + iarg[1] = SCARG(p, flags); /* int */ + uarg[2] = (intptr_t) SCARG(p, tim); /* const struct linux32_itimerspec * */ + uarg[3] = (intptr_t) SCARG(p, otim); /* struct linux32_itimerspec * */ + *n_args = 4; + break; + } + /* linux32_sys_timerfd_gettime */ + case 326: { + const struct linux32_sys_timerfd_gettime_args *p = params; + iarg[0] = SCARG(p, fd); /* int */ + uarg[1] = (intptr_t) SCARG(p, tim); /* struct linux32_itimerspec * */ + *n_args = 2; + break; + } /* linux32_sys_dup3 */ case 330: { const struct linux32_sys_dup3_args *p = params; @@ -4987,6 +5013,19 @@ systrace_entry_setargdesc(int sysnum, in break; }; break; + /* linux_sys_timerfd_create */ + case 322: + switch(ndx) { + case 0: + p = "clockid_t"; + break; + case 1: + p = "int"; + break; + default: + break; + }; + break; /* linux32_sys_fallocate */ case 324: switch(ndx) { @@ -5006,6 +5045,38 @@ systrace_entry_setargdesc(int sysnum, in break; }; break; + /* linux32_sys_timerfd_settime */ + case 325: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + case 2: + p = "const struct linux32_itimerspec *"; + break; + case 3: + p = "struct linux32_itimerspec *"; + break; + default: + break; + }; + break; + /* linux32_sys_timerfd_gettime */ + case 326: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "struct linux32_itimerspec *"; + break; + default: + break; + }; + break; /* linux32_sys_dup3 */ case 330: switch(ndx) { @@ -6140,11 +6211,26 @@ systrace_return_setargdesc(int sysnum, i if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux_sys_timerfd_create */ + case 322: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux32_sys_fallocate */ case 324: if (ndx == 0 || ndx == 1) p = "int"; break; + /* linux32_sys_timerfd_settime */ + case 325: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* linux32_sys_timerfd_gettime */ + case 326: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* linux32_sys_dup3 */ case 330: if (ndx == 0 || ndx == 1)