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)

Reply via email to