Module Name:    src
Committed By:   thorpej
Date:           Sun Sep 19 23:02:23 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 POSIX timer syscalls.


To generate a diff of this commit:
cvs rdiff -u -r1.110 -r1.111 src/sys/compat/linux/arch/alpha/linux_syscall.h \
    src/sys/compat/linux/arch/alpha/linux_sysent.c
cvs rdiff -u -r1.109 -r1.110 \
    src/sys/compat/linux/arch/alpha/linux_syscallargs.h
cvs rdiff -u -r1.111 -r1.112 src/sys/compat/linux/arch/alpha/linux_syscalls.c
cvs rdiff -u -r1.71 -r1.72 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.15 -r1.16 \
    src/sys/compat/linux/arch/amd64/linux_systrace_args.c
cvs rdiff -u -r1.82 -r1.83 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.15 -r1.16 \
    src/sys/compat/linux/arch/arm/linux_systrace_args.c
cvs rdiff -u -r1.116 -r1.117 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.117 -r1.118 src/sys/compat/linux/arch/i386/linux_syscalls.c
cvs rdiff -u -r1.11 -r1.12 \
    src/sys/compat/linux/arch/i386/linux_systrace_args.c
cvs rdiff -u -r1.108 -r1.109 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.107 -r1.108 \
    src/sys/compat/linux/arch/m68k/linux_syscallargs.h
cvs rdiff -u -r1.80 -r1.81 src/sys/compat/linux/arch/mips/linux_syscall.h
cvs rdiff -u -r1.79 -r1.80 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.86 -r1.87 src/sys/compat/linux/arch/powerpc/linux_syscall.h \
    src/sys/compat/linux/arch/powerpc/linux_sysent.c
cvs rdiff -u -r1.85 -r1.86 \
    src/sys/compat/linux/arch/powerpc/linux_syscallargs.h \
    src/sys/compat/linux/arch/powerpc/linux_syscalls.c
cvs rdiff -u -r1.81 -r1.82 \
    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.8 -r1.9 \
    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.110 src/sys/compat/linux/arch/alpha/linux_syscall.h:1.111
--- src/sys/compat/linux/arch/alpha/linux_syscall.h:1.110	Sun Apr 26 19:20:18 2020
+++ src/sys/compat/linux/arch/alpha/linux_syscall.h	Sun Sep 19 23:02:22 2021
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.110 2020/04/26 19:20:18 thorpej Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.111 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.97 2020/04/26 18:53:32 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.98 2021/09/19 23:01:49 thorpej Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -624,6 +624,21 @@
 /* syscall: "fadvise64" ret: "int" args: "int" "off_t" "size_t" "int" */
 #define	LINUX_SYS_fadvise64	413
 
+/* syscall: "timer_create" ret: "int" args: "clockid_t" "struct linux_sigevent *" "timer_t *" */
+#define	LINUX_SYS_timer_create	414
+
+/* syscall: "timer_settime" ret: "int" args: "timer_t" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */
+#define	LINUX_SYS_timer_settime	415
+
+/* syscall: "timer_gettime" ret: "int" args: "timer_t" "struct linux_itimerspec *" */
+#define	LINUX_SYS_timer_gettime	416
+
+/* syscall: "timer_getoverrun" ret: "int" args: "timer_t" */
+#define	LINUX_SYS_timer_getoverrun	417
+
+/* syscall: "timer_delete" ret: "int" args: "timer_t" */
+#define	LINUX_SYS_timer_delete	418
+
 /* syscall: "clock_settime" ret: "int" args: "clockid_t" "struct linux_timespec *" */
 #define	LINUX_SYS_clock_settime	419
 
Index: src/sys/compat/linux/arch/alpha/linux_sysent.c
diff -u src/sys/compat/linux/arch/alpha/linux_sysent.c:1.110 src/sys/compat/linux/arch/alpha/linux_sysent.c:1.111
--- src/sys/compat/linux/arch/alpha/linux_sysent.c:1.110	Sun Apr 26 19:20:18 2020
+++ src/sys/compat/linux/arch/alpha/linux_sysent.c	Sun Sep 19 23:02:22 2021
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.110 2020/04/26 19:20:18 thorpej Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.111 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.97 2020/04/26 18:53:32 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.98 2021/09/19 23:01:49 thorpej Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.110 2020/04/26 19:20:18 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.111 2021/09/19 23:02:22 thorpej Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_sysv.h"
@@ -1655,20 +1655,28 @@ struct sysent linux_sysent[] = {
 		.sy_call = (sy_call_t *)linux_sys_fadvise64
 	},		/* 413 = fadvise64 */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 414 = filler */
+		ns(struct linux_sys_timer_create_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_create
+	},		/* 414 = timer_create */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 415 = filler */
+		ns(struct linux_sys_timer_settime_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_settime
+	},		/* 415 = timer_settime */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 416 = filler */
+		ns(struct linux_sys_timer_gettime_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_gettime
+	},		/* 416 = timer_gettime */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 417 = filler */
+		ns(struct sys_timer_getoverrun_args),
+		.sy_call = (sy_call_t *)sys_timer_getoverrun
+	},		/* 417 = timer_getoverrun */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 418 = filler */
+		ns(struct sys_timer_delete_args),
+		.sy_call = (sy_call_t *)sys_timer_delete
+	},		/* 418 = timer_delete */
 	{
 		ns(struct linux_sys_clock_settime_args),
 		.sy_flags = SYCALL_ARG_PTR,

Index: src/sys/compat/linux/arch/alpha/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/alpha/linux_syscallargs.h:1.109 src/sys/compat/linux/arch/alpha/linux_syscallargs.h:1.110
--- src/sys/compat/linux/arch/alpha/linux_syscallargs.h:1.109	Sun Apr 26 19:20:18 2020
+++ src/sys/compat/linux/arch/alpha/linux_syscallargs.h	Sun Sep 19 23:02:22 2021
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.109 2020/04/26 19:20:18 thorpej Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.110 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.97 2020/04/26 18:53:32 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.98 2021/09/19 23:01:49 thorpej Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -956,6 +956,31 @@ struct linux_sys_fadvise64_args {
 };
 check_syscall_args(linux_sys_fadvise64)
 
+struct linux_sys_timer_create_args {
+	syscallarg(clockid_t) clockid;
+	syscallarg(struct linux_sigevent *) evp;
+	syscallarg(timer_t *) timerid;
+};
+check_syscall_args(linux_sys_timer_create)
+
+struct linux_sys_timer_settime_args {
+	syscallarg(timer_t) timerid;
+	syscallarg(int) flags;
+	syscallarg(const struct linux_itimerspec *) tim;
+	syscallarg(struct linux_itimerspec *) otim;
+};
+check_syscall_args(linux_sys_timer_settime)
+
+struct linux_sys_timer_gettime_args {
+	syscallarg(timer_t) timerid;
+	syscallarg(struct linux_itimerspec *) tim;
+};
+check_syscall_args(linux_sys_timer_gettime)
+
+struct sys_timer_getoverrun_args;
+
+struct sys_timer_delete_args;
+
 struct linux_sys_clock_settime_args {
 	syscallarg(clockid_t) which;
 	syscallarg(struct linux_timespec *) tp;
@@ -1570,6 +1595,16 @@ int	linux_sys_set_tid_address(struct lwp
 
 int	linux_sys_fadvise64(struct lwp *, const struct linux_sys_fadvise64_args *, register_t *);
 
+int	linux_sys_timer_create(struct lwp *, const struct linux_sys_timer_create_args *, register_t *);
+
+int	linux_sys_timer_settime(struct lwp *, const struct linux_sys_timer_settime_args *, register_t *);
+
+int	linux_sys_timer_gettime(struct lwp *, const struct linux_sys_timer_gettime_args *, register_t *);
+
+int	sys_timer_getoverrun(struct lwp *, const struct sys_timer_getoverrun_args *, register_t *);
+
+int	sys_timer_delete(struct lwp *, const struct sys_timer_delete_args *, register_t *);
+
 int	linux_sys_clock_settime(struct lwp *, const struct linux_sys_clock_settime_args *, register_t *);
 
 int	linux_sys_clock_gettime(struct lwp *, const struct linux_sys_clock_gettime_args *, register_t *);

Index: src/sys/compat/linux/arch/alpha/linux_syscalls.c
diff -u src/sys/compat/linux/arch/alpha/linux_syscalls.c:1.111 src/sys/compat/linux/arch/alpha/linux_syscalls.c:1.112
--- src/sys/compat/linux/arch/alpha/linux_syscalls.c:1.111	Sun Apr 26 19:20:18 2020
+++ src/sys/compat/linux/arch/alpha/linux_syscalls.c	Sun Sep 19 23:02:22 2021
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.111 2020/04/26 19:20:18 thorpej Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.112 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.97 2020/04/26 18:53:32 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.98 2021/09/19 23:01:49 thorpej Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.111 2020/04/26 19:20:18 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.112 2021/09/19 23:02:22 thorpej Exp $");
 
 #if defined(_KERNEL_OPT)
 #if defined(_KERNEL_OPT)
@@ -473,11 +473,11 @@ const char *const linux_syscallnames[] =
 	/* 411 */	"set_tid_address",
 	/* 412 */	"#412 (unimplemented restart_syscall)",
 	/* 413 */	"fadvise64",
-	/* 414 */	"#414 (unimplemented timer_create)",
-	/* 415 */	"#415 (unimplemented timer_settime)",
-	/* 416 */	"#416 (unimplemented timer_gettime)",
-	/* 417 */	"#417 (unimplemented timer_getoverrun)",
-	/* 418 */	"#418 (unimplemented timer_delete)",
+	/* 414 */	"timer_create",
+	/* 415 */	"timer_settime",
+	/* 416 */	"timer_gettime",
+	/* 417 */	"timer_getoverrun",
+	/* 418 */	"timer_delete",
 	/* 419 */	"clock_settime",
 	/* 420 */	"clock_gettime",
 	/* 421 */	"clock_getres",
@@ -1014,11 +1014,11 @@ const char *const altlinux_syscallnames[
 	/* 411 */	NULL, /* set_tid_address */
 	/* 412 */	NULL, /* unimplemented restart_syscall */
 	/* 413 */	NULL, /* fadvise64 */
-	/* 414 */	NULL, /* unimplemented timer_create */
-	/* 415 */	NULL, /* unimplemented timer_settime */
-	/* 416 */	NULL, /* unimplemented timer_gettime */
-	/* 417 */	NULL, /* unimplemented timer_getoverrun */
-	/* 418 */	NULL, /* unimplemented timer_delete */
+	/* 414 */	NULL, /* timer_create */
+	/* 415 */	NULL, /* timer_settime */
+	/* 416 */	NULL, /* timer_gettime */
+	/* 417 */	NULL, /* timer_getoverrun */
+	/* 418 */	NULL, /* timer_delete */
 	/* 419 */	NULL, /* clock_settime */
 	/* 420 */	NULL, /* clock_gettime */
 	/* 421 */	NULL, /* clock_getres */

Index: src/sys/compat/linux/arch/amd64/linux_syscall.h
diff -u src/sys/compat/linux/arch/amd64/linux_syscall.h:1.71 src/sys/compat/linux/arch/amd64/linux_syscall.h:1.72
--- src/sys/compat/linux/arch/amd64/linux_syscall.h:1.71	Sun Apr 26 19:20:18 2020
+++ src/sys/compat/linux/arch/amd64/linux_syscall.h	Sun Sep 19 23:02:22 2021
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.71 2020/04/26 19:20:18 thorpej Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.72 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.62 2020/04/26 18:53:32 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.63 2021/09/19 23:01:49 thorpej Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -573,6 +573,21 @@
 /* syscall: "fadvise64" ret: "int" args: "int" "off_t" "size_t" "int" */
 #define	LINUX_SYS_fadvise64	221
 
+/* syscall: "timer_create" ret: "int" args: "clockid_t" "struct linux_sigevent *" "timer_t *" */
+#define	LINUX_SYS_timer_create	222
+
+/* syscall: "timer_settime" ret: "int" args: "timer_t" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */
+#define	LINUX_SYS_timer_settime	223
+
+/* syscall: "timer_gettime" ret: "int" args: "timer_t" "struct linux_itimerspec *" */
+#define	LINUX_SYS_timer_gettime	224
+
+/* syscall: "timer_getoverrun" ret: "int" args: "timer_t" */
+#define	LINUX_SYS_timer_getoverrun	225
+
+/* syscall: "timer_delete" ret: "int" args: "timer_t" */
+#define	LINUX_SYS_timer_delete	226
+
 /* syscall: "clock_settime" ret: "int" args: "clockid_t" "struct linux_timespec *" */
 #define	LINUX_SYS_clock_settime	227
 
Index: src/sys/compat/linux/arch/amd64/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/amd64/linux_syscallargs.h:1.71 src/sys/compat/linux/arch/amd64/linux_syscallargs.h:1.72
--- src/sys/compat/linux/arch/amd64/linux_syscallargs.h:1.71	Sun Apr 26 19:20:18 2020
+++ src/sys/compat/linux/arch/amd64/linux_syscallargs.h	Sun Sep 19 23:02:22 2021
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.71 2020/04/26 19:20:18 thorpej Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.72 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.62 2020/04/26 18:53:32 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.63 2021/09/19 23:01:49 thorpej Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -857,6 +857,31 @@ struct linux_sys_fadvise64_args {
 };
 check_syscall_args(linux_sys_fadvise64)
 
+struct linux_sys_timer_create_args {
+	syscallarg(clockid_t) clockid;
+	syscallarg(struct linux_sigevent *) evp;
+	syscallarg(timer_t *) timerid;
+};
+check_syscall_args(linux_sys_timer_create)
+
+struct linux_sys_timer_settime_args {
+	syscallarg(timer_t) timerid;
+	syscallarg(int) flags;
+	syscallarg(const struct linux_itimerspec *) tim;
+	syscallarg(struct linux_itimerspec *) otim;
+};
+check_syscall_args(linux_sys_timer_settime)
+
+struct linux_sys_timer_gettime_args {
+	syscallarg(timer_t) timerid;
+	syscallarg(struct linux_itimerspec *) tim;
+};
+check_syscall_args(linux_sys_timer_gettime)
+
+struct sys_timer_getoverrun_args;
+
+struct sys_timer_delete_args;
+
 struct linux_sys_clock_settime_args {
 	syscallarg(clockid_t) which;
 	syscallarg(struct linux_timespec *) tp;
@@ -1427,6 +1452,16 @@ int	linux_sys_set_tid_address(struct lwp
 
 int	linux_sys_fadvise64(struct lwp *, const struct linux_sys_fadvise64_args *, register_t *);
 
+int	linux_sys_timer_create(struct lwp *, const struct linux_sys_timer_create_args *, register_t *);
+
+int	linux_sys_timer_settime(struct lwp *, const struct linux_sys_timer_settime_args *, register_t *);
+
+int	linux_sys_timer_gettime(struct lwp *, const struct linux_sys_timer_gettime_args *, register_t *);
+
+int	sys_timer_getoverrun(struct lwp *, const struct sys_timer_getoverrun_args *, register_t *);
+
+int	sys_timer_delete(struct lwp *, const struct sys_timer_delete_args *, register_t *);
+
 int	linux_sys_clock_settime(struct lwp *, const struct linux_sys_clock_settime_args *, register_t *);
 
 int	linux_sys_clock_gettime(struct lwp *, const struct linux_sys_clock_gettime_args *, register_t *);
Index: src/sys/compat/linux/arch/amd64/linux_syscalls.c
diff -u src/sys/compat/linux/arch/amd64/linux_syscalls.c:1.71 src/sys/compat/linux/arch/amd64/linux_syscalls.c:1.72
--- src/sys/compat/linux/arch/amd64/linux_syscalls.c:1.71	Sun Apr 26 19:20:18 2020
+++ src/sys/compat/linux/arch/amd64/linux_syscalls.c	Sun Sep 19 23:02:22 2021
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.71 2020/04/26 19:20:18 thorpej Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.72 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.62 2020/04/26 18:53:32 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.63 2021/09/19 23:01:49 thorpej Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.71 2020/04/26 19:20:18 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.72 2021/09/19 23:02:22 thorpej Exp $");
 
 #if defined(_KERNEL_OPT)
 #if defined(_KERNEL_OPT)
@@ -288,11 +288,11 @@ const char *const linux_syscallnames[] =
 	/* 219 */	"#219 (unimplemented restart_syscall)",
 	/* 220 */	"#220 (unimplemented semtimedop)",
 	/* 221 */	"fadvise64",
-	/* 222 */	"#222 (unimplemented timer_create)",
-	/* 223 */	"#223 (unimplemented timer_settime)",
-	/* 224 */	"#224 (unimplemented timer_gettime)",
-	/* 225 */	"#225 (unimplemented timer_getoverrun)",
-	/* 226 */	"#226 (unimplemented timer_delete)",
+	/* 222 */	"timer_create",
+	/* 223 */	"timer_settime",
+	/* 224 */	"timer_gettime",
+	/* 225 */	"timer_getoverrun",
+	/* 226 */	"timer_delete",
 	/* 227 */	"clock_settime",
 	/* 228 */	"clock_gettime",
 	/* 229 */	"clock_getres",
@@ -832,11 +832,11 @@ const char *const altlinux_syscallnames[
 	/* 219 */	NULL, /* unimplemented restart_syscall */
 	/* 220 */	NULL, /* unimplemented semtimedop */
 	/* 221 */	NULL, /* fadvise64 */
-	/* 222 */	NULL, /* unimplemented timer_create */
-	/* 223 */	NULL, /* unimplemented timer_settime */
-	/* 224 */	NULL, /* unimplemented timer_gettime */
-	/* 225 */	NULL, /* unimplemented timer_getoverrun */
-	/* 226 */	NULL, /* unimplemented timer_delete */
+	/* 222 */	NULL, /* timer_create */
+	/* 223 */	NULL, /* timer_settime */
+	/* 224 */	NULL, /* timer_gettime */
+	/* 225 */	NULL, /* timer_getoverrun */
+	/* 226 */	NULL, /* timer_delete */
 	/* 227 */	NULL, /* clock_settime */
 	/* 228 */	NULL, /* clock_gettime */
 	/* 229 */	NULL, /* clock_getres */
Index: src/sys/compat/linux/arch/amd64/linux_sysent.c
diff -u src/sys/compat/linux/arch/amd64/linux_sysent.c:1.71 src/sys/compat/linux/arch/amd64/linux_sysent.c:1.72
--- src/sys/compat/linux/arch/amd64/linux_sysent.c:1.71	Sun Apr 26 19:20:18 2020
+++ src/sys/compat/linux/arch/amd64/linux_sysent.c	Sun Sep 19 23:02:22 2021
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.71 2020/04/26 19:20:18 thorpej Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.72 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.62 2020/04/26 18:53:32 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.63 2021/09/19 23:01:49 thorpej Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.71 2020/04/26 19:20:18 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.72 2021/09/19 23:02:22 thorpej Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_sysv.h"
@@ -1044,20 +1044,28 @@ struct sysent linux_sysent[] = {
 		.sy_call = (sy_call_t *)linux_sys_fadvise64
 	},		/* 221 = fadvise64 */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 222 = filler */
+		ns(struct linux_sys_timer_create_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_create
+	},		/* 222 = timer_create */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 223 = filler */
+		ns(struct linux_sys_timer_settime_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_settime
+	},		/* 223 = timer_settime */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 224 = filler */
+		ns(struct linux_sys_timer_gettime_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_gettime
+	},		/* 224 = timer_gettime */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 225 = filler */
+		ns(struct sys_timer_getoverrun_args),
+		.sy_call = (sy_call_t *)sys_timer_getoverrun
+	},		/* 225 = timer_getoverrun */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 226 = filler */
+		ns(struct sys_timer_delete_args),
+		.sy_call = (sy_call_t *)sys_timer_delete
+	},		/* 226 = timer_delete */
 	{
 		ns(struct linux_sys_clock_settime_args),
 		.sy_flags = SYCALL_ARG_PTR,

Index: src/sys/compat/linux/arch/amd64/linux_systrace_args.c
diff -u src/sys/compat/linux/arch/amd64/linux_systrace_args.c:1.15 src/sys/compat/linux/arch/amd64/linux_systrace_args.c:1.16
--- src/sys/compat/linux/arch/amd64/linux_systrace_args.c:1.15	Sun Apr 26 19:20:18 2020
+++ src/sys/compat/linux/arch/amd64/linux_systrace_args.c	Sun Sep 19 23:02:22 2021
@@ -1,7 +1,7 @@
-/* $NetBSD: linux_systrace_args.c,v 1.15 2020/04/26 19:20:18 thorpej Exp $ */
+/* $NetBSD: linux_systrace_args.c,v 1.16 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
- * System call argument to DTrace register array converstion.
+ * System call argument to DTrace register array conversion.
  *
  * DO NOT EDIT-- this file is automatically generated.
  * This file is part of the DTrace syscall provider.
@@ -1519,6 +1519,47 @@ systrace_args(register_t sysnum, const v
 		*n_args = 4;
 		break;
 	}
+	/* linux_sys_timer_create */
+	case 222: {
+		const struct linux_sys_timer_create_args *p = params;
+		iarg[0] = SCARG(p, clockid); /* clockid_t */
+		uarg[1] = (intptr_t) SCARG(p, evp); /* struct linux_sigevent * */
+		uarg[2] = (intptr_t) SCARG(p, timerid); /* timer_t * */
+		*n_args = 3;
+		break;
+	}
+	/* linux_sys_timer_settime */
+	case 223: {
+		const struct linux_sys_timer_settime_args *p = params;
+		iarg[0] = SCARG(p, timerid); /* timer_t */
+		iarg[1] = SCARG(p, flags); /* int */
+		uarg[2] = (intptr_t) SCARG(p, tim); /* const struct linux_itimerspec * */
+		uarg[3] = (intptr_t) SCARG(p, otim); /* struct linux_itimerspec * */
+		*n_args = 4;
+		break;
+	}
+	/* linux_sys_timer_gettime */
+	case 224: {
+		const struct linux_sys_timer_gettime_args *p = params;
+		iarg[0] = SCARG(p, timerid); /* timer_t */
+		uarg[1] = (intptr_t) SCARG(p, tim); /* struct linux_itimerspec * */
+		*n_args = 2;
+		break;
+	}
+	/* sys_timer_getoverrun */
+	case 225: {
+		const struct sys_timer_getoverrun_args *p = params;
+		iarg[0] = SCARG(p, timerid); /* timer_t */
+		*n_args = 1;
+		break;
+	}
+	/* sys_timer_delete */
+	case 226: {
+		const struct sys_timer_delete_args *p = params;
+		iarg[0] = SCARG(p, timerid); /* timer_t */
+		*n_args = 1;
+		break;
+	}
 	/* linux_sys_clock_settime */
 	case 227: {
 		const struct linux_sys_clock_settime_args *p = params;
@@ -4289,6 +4330,74 @@ systrace_entry_setargdesc(int sysnum, in
 			break;
 		};
 		break;
+	/* linux_sys_timer_create */
+	case 222:
+		switch(ndx) {
+		case 0:
+			p = "clockid_t";
+			break;
+		case 1:
+			p = "struct linux_sigevent *";
+			break;
+		case 2:
+			p = "timer_t *";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* linux_sys_timer_settime */
+	case 223:
+		switch(ndx) {
+		case 0:
+			p = "timer_t";
+			break;
+		case 1:
+			p = "int";
+			break;
+		case 2:
+			p = "const struct linux_itimerspec *";
+			break;
+		case 3:
+			p = "struct linux_itimerspec *";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* linux_sys_timer_gettime */
+	case 224:
+		switch(ndx) {
+		case 0:
+			p = "timer_t";
+			break;
+		case 1:
+			p = "struct linux_itimerspec *";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* sys_timer_getoverrun */
+	case 225:
+		switch(ndx) {
+		case 0:
+			p = "timer_t";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* sys_timer_delete */
+	case 226:
+		switch(ndx) {
+		case 0:
+			p = "timer_t";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* linux_sys_clock_settime */
 	case 227:
 		switch(ndx) {
@@ -5696,6 +5805,31 @@ systrace_return_setargdesc(int sysnum, i
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* linux_sys_timer_create */
+	case 222:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* linux_sys_timer_settime */
+	case 223:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* linux_sys_timer_gettime */
+	case 224:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* sys_timer_getoverrun */
+	case 225:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* sys_timer_delete */
+	case 226:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_sys_clock_settime */
 	case 227:
 		if (ndx == 0 || ndx == 1)

Index: src/sys/compat/linux/arch/arm/linux_syscall.h
diff -u src/sys/compat/linux/arch/arm/linux_syscall.h:1.82 src/sys/compat/linux/arch/arm/linux_syscall.h:1.83
--- src/sys/compat/linux/arch/arm/linux_syscall.h:1.82	Sun Apr 26 19:20:18 2020
+++ src/sys/compat/linux/arch/arm/linux_syscall.h	Sun Sep 19 23:02:22 2021
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.82 2020/04/26 19:20:18 thorpej Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.83 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.69 2020/04/26 18:53:32 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.70 2021/09/19 23:01:49 thorpej Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -625,6 +625,21 @@
 /* syscall: "set_tid_address" ret: "int" args: "int *" */
 #define	LINUX_SYS_set_tid_address	256
 
+/* syscall: "timer_create" ret: "int" args: "clockid_t" "struct linux_sigevent *" "timer_t *" */
+#define	LINUX_SYS_timer_create	257
+
+/* syscall: "timer_settime" ret: "int" args: "timer_t" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */
+#define	LINUX_SYS_timer_settime	258
+
+/* syscall: "timer_gettime" ret: "int" args: "timer_t" "struct linux_itimerspec *" */
+#define	LINUX_SYS_timer_gettime	259
+
+/* syscall: "timer_getoverrun" ret: "int" args: "timer_t" */
+#define	LINUX_SYS_timer_getoverrun	260
+
+/* syscall: "timer_delete" ret: "int" args: "timer_t" */
+#define	LINUX_SYS_timer_delete	261
+
 /* syscall: "clock_settime" ret: "int" args: "clockid_t" "struct linux_timespec *" */
 #define	LINUX_SYS_clock_settime	262
 
Index: src/sys/compat/linux/arch/arm/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/arm/linux_syscallargs.h:1.82 src/sys/compat/linux/arch/arm/linux_syscallargs.h:1.83
--- src/sys/compat/linux/arch/arm/linux_syscallargs.h:1.82	Sun Apr 26 19:20:18 2020
+++ src/sys/compat/linux/arch/arm/linux_syscallargs.h	Sun Sep 19 23:02:22 2021
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.82 2020/04/26 19:20:18 thorpej Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.83 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.69 2020/04/26 18:53:32 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.70 2021/09/19 23:01:49 thorpej Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -914,6 +914,31 @@ struct linux_sys_set_tid_address_args {
 };
 check_syscall_args(linux_sys_set_tid_address)
 
+struct linux_sys_timer_create_args {
+	syscallarg(clockid_t) clockid;
+	syscallarg(struct linux_sigevent *) evp;
+	syscallarg(timer_t *) timerid;
+};
+check_syscall_args(linux_sys_timer_create)
+
+struct linux_sys_timer_settime_args {
+	syscallarg(timer_t) timerid;
+	syscallarg(int) flags;
+	syscallarg(const struct linux_itimerspec *) tim;
+	syscallarg(struct linux_itimerspec *) otim;
+};
+check_syscall_args(linux_sys_timer_settime)
+
+struct linux_sys_timer_gettime_args {
+	syscallarg(timer_t) timerid;
+	syscallarg(struct linux_itimerspec *) tim;
+};
+check_syscall_args(linux_sys_timer_gettime)
+
+struct sys_timer_getoverrun_args;
+
+struct sys_timer_delete_args;
+
 struct linux_sys_clock_settime_args {
 	syscallarg(clockid_t) which;
 	syscallarg(struct linux_timespec *) tp;
@@ -1520,6 +1545,16 @@ int	linux_sys_exit_group(struct lwp *, c
 
 int	linux_sys_set_tid_address(struct lwp *, const struct linux_sys_set_tid_address_args *, register_t *);
 
+int	linux_sys_timer_create(struct lwp *, const struct linux_sys_timer_create_args *, register_t *);
+
+int	linux_sys_timer_settime(struct lwp *, const struct linux_sys_timer_settime_args *, register_t *);
+
+int	linux_sys_timer_gettime(struct lwp *, const struct linux_sys_timer_gettime_args *, register_t *);
+
+int	sys_timer_getoverrun(struct lwp *, const struct sys_timer_getoverrun_args *, register_t *);
+
+int	sys_timer_delete(struct lwp *, const struct sys_timer_delete_args *, register_t *);
+
 int	linux_sys_clock_settime(struct lwp *, const struct linux_sys_clock_settime_args *, register_t *);
 
 int	linux_sys_clock_gettime(struct lwp *, const struct linux_sys_clock_gettime_args *, register_t *);
Index: src/sys/compat/linux/arch/arm/linux_syscalls.c
diff -u src/sys/compat/linux/arch/arm/linux_syscalls.c:1.82 src/sys/compat/linux/arch/arm/linux_syscalls.c:1.83
--- src/sys/compat/linux/arch/arm/linux_syscalls.c:1.82	Sun Apr 26 19:20:18 2020
+++ src/sys/compat/linux/arch/arm/linux_syscalls.c	Sun Sep 19 23:02:22 2021
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.82 2020/04/26 19:20:18 thorpej Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.83 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.69 2020/04/26 18:53:32 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.70 2021/09/19 23:01:49 thorpej Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.82 2020/04/26 19:20:18 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.83 2021/09/19 23:02:22 thorpej Exp $");
 
 #if defined(_KERNEL_OPT)
 #include <sys/param.h>
@@ -292,11 +292,11 @@ const char *const linux_syscallnames[] =
 	/* 254 */	"#254 (unimplemented set_thread_area)",
 	/* 255 */	"#255 (unimplemented get_thread_area)",
 	/* 256 */	"set_tid_address",
-	/* 257 */	"#257 (unimplemented timer_create)",
-	/* 258 */	"#258 (unimplemented timer_settime)",
-	/* 259 */	"#259 (unimplemented timer_gettime)",
-	/* 260 */	"#260 (unimplemented timer_getoverrun)",
-	/* 261 */	"#261 (unimplemented timer_delete)",
+	/* 257 */	"timer_create",
+	/* 258 */	"timer_settime",
+	/* 259 */	"timer_gettime",
+	/* 260 */	"timer_getoverrun",
+	/* 261 */	"timer_delete",
 	/* 262 */	"clock_settime",
 	/* 263 */	"clock_gettime",
 	/* 264 */	"clock_getres",
@@ -814,11 +814,11 @@ const char *const altlinux_syscallnames[
 	/* 254 */	NULL, /* unimplemented set_thread_area */
 	/* 255 */	NULL, /* unimplemented get_thread_area */
 	/* 256 */	NULL, /* set_tid_address */
-	/* 257 */	NULL, /* unimplemented timer_create */
-	/* 258 */	NULL, /* unimplemented timer_settime */
-	/* 259 */	NULL, /* unimplemented timer_gettime */
-	/* 260 */	NULL, /* unimplemented timer_getoverrun */
-	/* 261 */	NULL, /* unimplemented timer_delete */
+	/* 257 */	NULL, /* timer_create */
+	/* 258 */	NULL, /* timer_settime */
+	/* 259 */	NULL, /* timer_gettime */
+	/* 260 */	NULL, /* timer_getoverrun */
+	/* 261 */	NULL, /* timer_delete */
 	/* 262 */	NULL, /* clock_settime */
 	/* 263 */	NULL, /* clock_gettime */
 	/* 264 */	NULL, /* clock_getres */
Index: src/sys/compat/linux/arch/arm/linux_sysent.c
diff -u src/sys/compat/linux/arch/arm/linux_sysent.c:1.82 src/sys/compat/linux/arch/arm/linux_sysent.c:1.83
--- src/sys/compat/linux/arch/arm/linux_sysent.c:1.82	Sun Apr 26 19:20:18 2020
+++ src/sys/compat/linux/arch/arm/linux_sysent.c	Sun Sep 19 23:02:22 2021
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.82 2020/04/26 19:20:18 thorpej Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.83 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.69 2020/04/26 18:53:32 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.70 2021/09/19 23:01:49 thorpej Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.82 2020/04/26 19:20:18 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.83 2021/09/19 23:02:22 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/poll.h>
@@ -1116,20 +1116,28 @@ struct sysent linux_sysent[] = {
 		.sy_call = (sy_call_t *)linux_sys_set_tid_address
 	},		/* 256 = set_tid_address */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 257 = filler */
+		ns(struct linux_sys_timer_create_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_create
+	},		/* 257 = timer_create */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 258 = filler */
+		ns(struct linux_sys_timer_settime_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_settime
+	},		/* 258 = timer_settime */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 259 = filler */
+		ns(struct linux_sys_timer_gettime_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_gettime
+	},		/* 259 = timer_gettime */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 260 = filler */
+		ns(struct sys_timer_getoverrun_args),
+		.sy_call = (sy_call_t *)sys_timer_getoverrun
+	},		/* 260 = timer_getoverrun */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 261 = filler */
+		ns(struct sys_timer_delete_args),
+		.sy_call = (sy_call_t *)sys_timer_delete
+	},		/* 261 = timer_delete */
 	{
 		ns(struct linux_sys_clock_settime_args),
 		.sy_flags = SYCALL_ARG_PTR,

Index: src/sys/compat/linux/arch/arm/linux_systrace_args.c
diff -u src/sys/compat/linux/arch/arm/linux_systrace_args.c:1.15 src/sys/compat/linux/arch/arm/linux_systrace_args.c:1.16
--- src/sys/compat/linux/arch/arm/linux_systrace_args.c:1.15	Sun Apr 26 19:20:18 2020
+++ src/sys/compat/linux/arch/arm/linux_systrace_args.c	Sun Sep 19 23:02:22 2021
@@ -1,7 +1,7 @@
-/* $NetBSD: linux_systrace_args.c,v 1.15 2020/04/26 19:20:18 thorpej Exp $ */
+/* $NetBSD: linux_systrace_args.c,v 1.16 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
- * System call argument to DTrace register array converstion.
+ * System call argument to DTrace register array conversion.
  *
  * DO NOT EDIT-- this file is automatically generated.
  * This file is part of the DTrace syscall provider.
@@ -1597,6 +1597,47 @@ systrace_args(register_t sysnum, const v
 		*n_args = 1;
 		break;
 	}
+	/* linux_sys_timer_create */
+	case 257: {
+		const struct linux_sys_timer_create_args *p = params;
+		iarg[0] = SCARG(p, clockid); /* clockid_t */
+		uarg[1] = (intptr_t) SCARG(p, evp); /* struct linux_sigevent * */
+		uarg[2] = (intptr_t) SCARG(p, timerid); /* timer_t * */
+		*n_args = 3;
+		break;
+	}
+	/* linux_sys_timer_settime */
+	case 258: {
+		const struct linux_sys_timer_settime_args *p = params;
+		iarg[0] = SCARG(p, timerid); /* timer_t */
+		iarg[1] = SCARG(p, flags); /* int */
+		uarg[2] = (intptr_t) SCARG(p, tim); /* const struct linux_itimerspec * */
+		uarg[3] = (intptr_t) SCARG(p, otim); /* struct linux_itimerspec * */
+		*n_args = 4;
+		break;
+	}
+	/* linux_sys_timer_gettime */
+	case 259: {
+		const struct linux_sys_timer_gettime_args *p = params;
+		iarg[0] = SCARG(p, timerid); /* timer_t */
+		uarg[1] = (intptr_t) SCARG(p, tim); /* struct linux_itimerspec * */
+		*n_args = 2;
+		break;
+	}
+	/* sys_timer_getoverrun */
+	case 260: {
+		const struct sys_timer_getoverrun_args *p = params;
+		iarg[0] = SCARG(p, timerid); /* timer_t */
+		*n_args = 1;
+		break;
+	}
+	/* sys_timer_delete */
+	case 261: {
+		const struct sys_timer_delete_args *p = params;
+		iarg[0] = SCARG(p, timerid); /* timer_t */
+		*n_args = 1;
+		break;
+	}
 	/* linux_sys_clock_settime */
 	case 262: {
 		const struct linux_sys_clock_settime_args *p = params;
@@ -4468,6 +4509,74 @@ systrace_entry_setargdesc(int sysnum, in
 			break;
 		};
 		break;
+	/* linux_sys_timer_create */
+	case 257:
+		switch(ndx) {
+		case 0:
+			p = "clockid_t";
+			break;
+		case 1:
+			p = "struct linux_sigevent *";
+			break;
+		case 2:
+			p = "timer_t *";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* linux_sys_timer_settime */
+	case 258:
+		switch(ndx) {
+		case 0:
+			p = "timer_t";
+			break;
+		case 1:
+			p = "int";
+			break;
+		case 2:
+			p = "const struct linux_itimerspec *";
+			break;
+		case 3:
+			p = "struct linux_itimerspec *";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* linux_sys_timer_gettime */
+	case 259:
+		switch(ndx) {
+		case 0:
+			p = "timer_t";
+			break;
+		case 1:
+			p = "struct linux_itimerspec *";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* sys_timer_getoverrun */
+	case 260:
+		switch(ndx) {
+		case 0:
+			p = "timer_t";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* sys_timer_delete */
+	case 261:
+		switch(ndx) {
+		case 0:
+			p = "timer_t";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* linux_sys_clock_settime */
 	case 262:
 		switch(ndx) {
@@ -6001,6 +6110,31 @@ systrace_return_setargdesc(int sysnum, i
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* linux_sys_timer_create */
+	case 257:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* linux_sys_timer_settime */
+	case 258:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* linux_sys_timer_gettime */
+	case 259:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* sys_timer_getoverrun */
+	case 260:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* sys_timer_delete */
+	case 261:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_sys_clock_settime */
 	case 262:
 		if (ndx == 0 || ndx == 1)

Index: src/sys/compat/linux/arch/i386/linux_syscall.h
diff -u src/sys/compat/linux/arch/i386/linux_syscall.h:1.116 src/sys/compat/linux/arch/i386/linux_syscall.h:1.117
--- src/sys/compat/linux/arch/i386/linux_syscall.h:1.116	Sun Apr 26 19:20:18 2020
+++ src/sys/compat/linux/arch/i386/linux_syscall.h	Sun Sep 19 23:02:22 2021
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.116 2020/04/26 19:20:18 thorpej Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.117 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.124 2020/04/26 18:53:32 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.125 2021/09/19 23:01:50 thorpej Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -647,6 +647,21 @@
 /* syscall: "set_tid_address" ret: "int" args: "int *" */
 #define	LINUX_SYS_set_tid_address	258
 
+/* syscall: "timer_create" ret: "int" args: "clockid_t" "struct linux_sigevent *" "timer_t *" */
+#define	LINUX_SYS_timer_create	259
+
+/* syscall: "timer_settime" ret: "int" args: "timer_t" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */
+#define	LINUX_SYS_timer_settime	260
+
+/* syscall: "timer_gettime" ret: "int" args: "timer_t" "struct linux_itimerspec *" */
+#define	LINUX_SYS_timer_gettime	261
+
+/* syscall: "timer_getoverrun" ret: "int" args: "timer_t" */
+#define	LINUX_SYS_timer_getoverrun	262
+
+/* syscall: "timer_delete" ret: "int" args: "timer_t" */
+#define	LINUX_SYS_timer_delete	263
+
 /* syscall: "clock_settime" ret: "int" args: "clockid_t" "struct linux_timespec *" */
 #define	LINUX_SYS_clock_settime	264
 
Index: src/sys/compat/linux/arch/i386/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/i386/linux_syscallargs.h:1.116 src/sys/compat/linux/arch/i386/linux_syscallargs.h:1.117
--- src/sys/compat/linux/arch/i386/linux_syscallargs.h:1.116	Sun Apr 26 19:20:18 2020
+++ src/sys/compat/linux/arch/i386/linux_syscallargs.h	Sun Sep 19 23:02:22 2021
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.116 2020/04/26 19:20:18 thorpej Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.117 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.124 2020/04/26 18:53:32 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.125 2021/09/19 23:01:50 thorpej Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -961,6 +961,31 @@ struct linux_sys_set_tid_address_args {
 };
 check_syscall_args(linux_sys_set_tid_address)
 
+struct linux_sys_timer_create_args {
+	syscallarg(clockid_t) clockid;
+	syscallarg(struct linux_sigevent *) evp;
+	syscallarg(timer_t *) timerid;
+};
+check_syscall_args(linux_sys_timer_create)
+
+struct linux_sys_timer_settime_args {
+	syscallarg(timer_t) timerid;
+	syscallarg(int) flags;
+	syscallarg(const struct linux_itimerspec *) tim;
+	syscallarg(struct linux_itimerspec *) otim;
+};
+check_syscall_args(linux_sys_timer_settime)
+
+struct linux_sys_timer_gettime_args {
+	syscallarg(timer_t) timerid;
+	syscallarg(struct linux_itimerspec *) tim;
+};
+check_syscall_args(linux_sys_timer_gettime)
+
+struct sys_timer_getoverrun_args;
+
+struct sys_timer_delete_args;
+
 struct linux_sys_clock_settime_args {
 	syscallarg(clockid_t) which;
 	syscallarg(struct linux_timespec *) tp;
@@ -1546,6 +1571,16 @@ int	linux_sys_exit_group(struct lwp *, c
 
 int	linux_sys_set_tid_address(struct lwp *, const struct linux_sys_set_tid_address_args *, register_t *);
 
+int	linux_sys_timer_create(struct lwp *, const struct linux_sys_timer_create_args *, register_t *);
+
+int	linux_sys_timer_settime(struct lwp *, const struct linux_sys_timer_settime_args *, register_t *);
+
+int	linux_sys_timer_gettime(struct lwp *, const struct linux_sys_timer_gettime_args *, register_t *);
+
+int	sys_timer_getoverrun(struct lwp *, const struct sys_timer_getoverrun_args *, register_t *);
+
+int	sys_timer_delete(struct lwp *, const struct sys_timer_delete_args *, register_t *);
+
 int	linux_sys_clock_settime(struct lwp *, const struct linux_sys_clock_settime_args *, register_t *);
 
 int	linux_sys_clock_gettime(struct lwp *, const struct linux_sys_clock_gettime_args *, register_t *);
Index: src/sys/compat/linux/arch/i386/linux_sysent.c
diff -u src/sys/compat/linux/arch/i386/linux_sysent.c:1.116 src/sys/compat/linux/arch/i386/linux_sysent.c:1.117
--- src/sys/compat/linux/arch/i386/linux_sysent.c:1.116	Sun Apr 26 19:20:18 2020
+++ src/sys/compat/linux/arch/i386/linux_sysent.c	Sun Sep 19 23:02:22 2021
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.116 2020/04/26 19:20:18 thorpej Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.117 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.124 2020/04/26 18:53:32 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.125 2021/09/19 23:01:50 thorpej Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.116 2020/04/26 19:20:18 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.117 2021/09/19 23:02:22 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/poll.h>
@@ -1135,20 +1135,28 @@ struct sysent linux_sysent[] = {
 		.sy_call = (sy_call_t *)linux_sys_set_tid_address
 	},		/* 258 = set_tid_address */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 259 = filler */
+		ns(struct linux_sys_timer_create_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_create
+	},		/* 259 = timer_create */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 260 = filler */
+		ns(struct linux_sys_timer_settime_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_settime
+	},		/* 260 = timer_settime */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 261 = filler */
+		ns(struct linux_sys_timer_gettime_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_gettime
+	},		/* 261 = timer_gettime */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 262 = filler */
+		ns(struct sys_timer_getoverrun_args),
+		.sy_call = (sy_call_t *)sys_timer_getoverrun
+	},		/* 262 = timer_getoverrun */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 263 = filler */
+		ns(struct sys_timer_delete_args),
+		.sy_call = (sy_call_t *)sys_timer_delete
+	},		/* 263 = timer_delete */
 	{
 		ns(struct linux_sys_clock_settime_args),
 		.sy_flags = SYCALL_ARG_PTR,

Index: src/sys/compat/linux/arch/i386/linux_syscalls.c
diff -u src/sys/compat/linux/arch/i386/linux_syscalls.c:1.117 src/sys/compat/linux/arch/i386/linux_syscalls.c:1.118
--- src/sys/compat/linux/arch/i386/linux_syscalls.c:1.117	Sun Apr 26 19:20:18 2020
+++ src/sys/compat/linux/arch/i386/linux_syscalls.c	Sun Sep 19 23:02:22 2021
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.117 2020/04/26 19:20:18 thorpej Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.118 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.124 2020/04/26 18:53:32 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.125 2021/09/19 23:01:50 thorpej Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.117 2020/04/26 19:20:18 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.118 2021/09/19 23:02:22 thorpej Exp $");
 
 #if defined(_KERNEL_OPT)
 #include <sys/param.h>
@@ -293,11 +293,11 @@ const char *const linux_syscallnames[] =
 	/* 256 */	"#256 (unimplemented epoll_wait)",
 	/* 257 */	"#257 (unimplemented remap_file_pages)",
 	/* 258 */	"set_tid_address",
-	/* 259 */	"#259 (unimplemented timer_create)",
-	/* 260 */	"#260 (unimplemented timer_settime)",
-	/* 261 */	"#261 (unimplemented timer_gettime)",
-	/* 262 */	"#262 (unimplemented timer_getoverrun)",
-	/* 263 */	"#263 (unimplemented timer_delete)",
+	/* 259 */	"timer_create",
+	/* 260 */	"timer_settime",
+	/* 261 */	"timer_gettime",
+	/* 262 */	"timer_getoverrun",
+	/* 263 */	"timer_delete",
 	/* 264 */	"clock_settime",
 	/* 265 */	"clock_gettime",
 	/* 266 */	"clock_getres",
@@ -815,11 +815,11 @@ const char *const altlinux_syscallnames[
 	/* 256 */	NULL, /* unimplemented epoll_wait */
 	/* 257 */	NULL, /* unimplemented remap_file_pages */
 	/* 258 */	NULL, /* set_tid_address */
-	/* 259 */	NULL, /* unimplemented timer_create */
-	/* 260 */	NULL, /* unimplemented timer_settime */
-	/* 261 */	NULL, /* unimplemented timer_gettime */
-	/* 262 */	NULL, /* unimplemented timer_getoverrun */
-	/* 263 */	NULL, /* unimplemented timer_delete */
+	/* 259 */	NULL, /* timer_create */
+	/* 260 */	NULL, /* timer_settime */
+	/* 261 */	NULL, /* timer_gettime */
+	/* 262 */	NULL, /* timer_getoverrun */
+	/* 263 */	NULL, /* timer_delete */
 	/* 264 */	NULL, /* clock_settime */
 	/* 265 */	NULL, /* clock_gettime */
 	/* 266 */	NULL, /* clock_getres */

Index: src/sys/compat/linux/arch/i386/linux_systrace_args.c
diff -u src/sys/compat/linux/arch/i386/linux_systrace_args.c:1.11 src/sys/compat/linux/arch/i386/linux_systrace_args.c:1.12
--- src/sys/compat/linux/arch/i386/linux_systrace_args.c:1.11	Sun Apr 26 19:20:18 2020
+++ src/sys/compat/linux/arch/i386/linux_systrace_args.c	Sun Sep 19 23:02:22 2021
@@ -1,7 +1,7 @@
-/* $NetBSD: linux_systrace_args.c,v 1.11 2020/04/26 19:20:18 thorpej Exp $ */
+/* $NetBSD: linux_systrace_args.c,v 1.12 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
- * System call argument to DTrace register array converstion.
+ * System call argument to DTrace register array conversion.
  *
  * DO NOT EDIT-- this file is automatically generated.
  * This file is part of the DTrace syscall provider.
@@ -1660,6 +1660,47 @@ systrace_args(register_t sysnum, const v
 		*n_args = 1;
 		break;
 	}
+	/* linux_sys_timer_create */
+	case 259: {
+		const struct linux_sys_timer_create_args *p = params;
+		iarg[0] = SCARG(p, clockid); /* clockid_t */
+		uarg[1] = (intptr_t) SCARG(p, evp); /* struct linux_sigevent * */
+		uarg[2] = (intptr_t) SCARG(p, timerid); /* timer_t * */
+		*n_args = 3;
+		break;
+	}
+	/* linux_sys_timer_settime */
+	case 260: {
+		const struct linux_sys_timer_settime_args *p = params;
+		iarg[0] = SCARG(p, timerid); /* timer_t */
+		iarg[1] = SCARG(p, flags); /* int */
+		uarg[2] = (intptr_t) SCARG(p, tim); /* const struct linux_itimerspec * */
+		uarg[3] = (intptr_t) SCARG(p, otim); /* struct linux_itimerspec * */
+		*n_args = 4;
+		break;
+	}
+	/* linux_sys_timer_gettime */
+	case 261: {
+		const struct linux_sys_timer_gettime_args *p = params;
+		iarg[0] = SCARG(p, timerid); /* timer_t */
+		uarg[1] = (intptr_t) SCARG(p, tim); /* struct linux_itimerspec * */
+		*n_args = 2;
+		break;
+	}
+	/* sys_timer_getoverrun */
+	case 262: {
+		const struct sys_timer_getoverrun_args *p = params;
+		iarg[0] = SCARG(p, timerid); /* timer_t */
+		*n_args = 1;
+		break;
+	}
+	/* sys_timer_delete */
+	case 263: {
+		const struct sys_timer_delete_args *p = params;
+		iarg[0] = SCARG(p, timerid); /* timer_t */
+		*n_args = 1;
+		break;
+	}
 	/* linux_sys_clock_settime */
 	case 264: {
 		const struct linux_sys_clock_settime_args *p = params;
@@ -4580,6 +4621,74 @@ systrace_entry_setargdesc(int sysnum, in
 			break;
 		};
 		break;
+	/* linux_sys_timer_create */
+	case 259:
+		switch(ndx) {
+		case 0:
+			p = "clockid_t";
+			break;
+		case 1:
+			p = "struct linux_sigevent *";
+			break;
+		case 2:
+			p = "timer_t *";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* linux_sys_timer_settime */
+	case 260:
+		switch(ndx) {
+		case 0:
+			p = "timer_t";
+			break;
+		case 1:
+			p = "int";
+			break;
+		case 2:
+			p = "const struct linux_itimerspec *";
+			break;
+		case 3:
+			p = "struct linux_itimerspec *";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* linux_sys_timer_gettime */
+	case 261:
+		switch(ndx) {
+		case 0:
+			p = "timer_t";
+			break;
+		case 1:
+			p = "struct linux_itimerspec *";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* sys_timer_getoverrun */
+	case 262:
+		switch(ndx) {
+		case 0:
+			p = "timer_t";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* sys_timer_delete */
+	case 263:
+		switch(ndx) {
+		case 0:
+			p = "timer_t";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* linux_sys_clock_settime */
 	case 264:
 		switch(ndx) {
@@ -6064,6 +6173,31 @@ systrace_return_setargdesc(int sysnum, i
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* linux_sys_timer_create */
+	case 259:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* linux_sys_timer_settime */
+	case 260:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* linux_sys_timer_gettime */
+	case 261:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* sys_timer_getoverrun */
+	case 262:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* sys_timer_delete */
+	case 263:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_sys_clock_settime */
 	case 264:
 		if (ndx == 0 || ndx == 1)

Index: src/sys/compat/linux/arch/m68k/linux_syscall.h
diff -u src/sys/compat/linux/arch/m68k/linux_syscall.h:1.108 src/sys/compat/linux/arch/m68k/linux_syscall.h:1.109
--- src/sys/compat/linux/arch/m68k/linux_syscall.h:1.108	Sun Apr 26 19:20:19 2020
+++ src/sys/compat/linux/arch/m68k/linux_syscall.h	Sun Sep 19 23:02:22 2021
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.108 2020/04/26 19:20:19 thorpej Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.109 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.95 2020/04/26 18:53:32 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.96 2021/09/19 23:01:50 thorpej Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -630,6 +630,21 @@
 /* syscall: "set_tid_address" ret: "int" args: "int *" */
 #define	LINUX_SYS_set_tid_address	253
 
+/* syscall: "timer_create" ret: "int" args: "clockid_t" "struct linux_sigevent *" "timer_t *" */
+#define	LINUX_SYS_timer_create	254
+
+/* syscall: "timer_settime" ret: "int" args: "timer_t" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */
+#define	LINUX_SYS_timer_settime	255
+
+/* syscall: "timer_gettime" ret: "int" args: "timer_t" "struct linux_itimerspec *" */
+#define	LINUX_SYS_timer_gettime	256
+
+/* syscall: "timer_getoverrun" ret: "int" args: "timer_t" */
+#define	LINUX_SYS_timer_getoverrun	257
+
+/* syscall: "timer_delete" ret: "int" args: "timer_t" */
+#define	LINUX_SYS_timer_delete	258
+
 /* syscall: "clock_settime" ret: "int" args: "clockid_t" "struct linux_timespec *" */
 #define	LINUX_SYS_clock_settime	259
 
Index: src/sys/compat/linux/arch/m68k/linux_syscalls.c
diff -u src/sys/compat/linux/arch/m68k/linux_syscalls.c:1.108 src/sys/compat/linux/arch/m68k/linux_syscalls.c:1.109
--- src/sys/compat/linux/arch/m68k/linux_syscalls.c:1.108	Sun Apr 26 19:20:19 2020
+++ src/sys/compat/linux/arch/m68k/linux_syscalls.c	Sun Sep 19 23:02:22 2021
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.108 2020/04/26 19:20:19 thorpej Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.109 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.95 2020/04/26 18:53:32 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.96 2021/09/19 23:01:50 thorpej Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.108 2020/04/26 19:20:19 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.109 2021/09/19 23:02:22 thorpej Exp $");
 
 #if defined(_KERNEL_OPT)
 #if defined(_KERNEL_OPT)
@@ -308,11 +308,11 @@ const char *const linux_syscallnames[] =
 	/* 251 */	"#251 (unimplemented epoll_wait)",
 	/* 252 */	"#252 (unimplemented remap_file_pages)",
 	/* 253 */	"set_tid_address",
-	/* 254 */	"#254 (unimplemented timer_create)",
-	/* 255 */	"#255 (unimplemented timer_settime)",
-	/* 256 */	"#256 (unimplemented timer_gettime)",
-	/* 257 */	"#257 (unimplemented timer_getoverrun)",
-	/* 258 */	"#258 (unimplemented timer_ delete)",
+	/* 254 */	"timer_create",
+	/* 255 */	"timer_settime",
+	/* 256 */	"timer_gettime",
+	/* 257 */	"timer_getoverrun",
+	/* 258 */	"timer_delete",
 	/* 259 */	"clock_settime",
 	/* 260 */	"clock_gettime",
 	/* 261 */	"clock_getres",
@@ -846,11 +846,11 @@ const char *const altlinux_syscallnames[
 	/* 251 */	NULL, /* unimplemented epoll_wait */
 	/* 252 */	NULL, /* unimplemented remap_file_pages */
 	/* 253 */	NULL, /* set_tid_address */
-	/* 254 */	NULL, /* unimplemented timer_create */
-	/* 255 */	NULL, /* unimplemented timer_settime */
-	/* 256 */	NULL, /* unimplemented timer_gettime */
-	/* 257 */	NULL, /* unimplemented timer_getoverrun */
-	/* 258 */	NULL, /* unimplemented timer_ delete */
+	/* 254 */	NULL, /* timer_create */
+	/* 255 */	NULL, /* timer_settime */
+	/* 256 */	NULL, /* timer_gettime */
+	/* 257 */	NULL, /* timer_getoverrun */
+	/* 258 */	NULL, /* timer_delete */
 	/* 259 */	NULL, /* clock_settime */
 	/* 260 */	NULL, /* clock_gettime */
 	/* 261 */	NULL, /* clock_getres */
Index: src/sys/compat/linux/arch/m68k/linux_sysent.c
diff -u src/sys/compat/linux/arch/m68k/linux_sysent.c:1.108 src/sys/compat/linux/arch/m68k/linux_sysent.c:1.109
--- src/sys/compat/linux/arch/m68k/linux_sysent.c:1.108	Sun Apr 26 19:20:19 2020
+++ src/sys/compat/linux/arch/m68k/linux_sysent.c	Sun Sep 19 23:02:22 2021
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.108 2020/04/26 19:20:19 thorpej Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.109 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.95 2020/04/26 18:53:32 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.96 2021/09/19 23:01:50 thorpej Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.108 2020/04/26 19:20:19 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.109 2021/09/19 23:02:22 thorpej Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -1126,20 +1126,28 @@ struct sysent linux_sysent[] = {
 		.sy_call = (sy_call_t *)linux_sys_set_tid_address
 	},		/* 253 = set_tid_address */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 254 = filler */
+		ns(struct linux_sys_timer_create_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_create
+	},		/* 254 = timer_create */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 255 = filler */
+		ns(struct linux_sys_timer_settime_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_settime
+	},		/* 255 = timer_settime */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 256 = filler */
+		ns(struct linux_sys_timer_gettime_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_gettime
+	},		/* 256 = timer_gettime */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 257 = filler */
+		ns(struct sys_timer_getoverrun_args),
+		.sy_call = (sy_call_t *)sys_timer_getoverrun
+	},		/* 257 = timer_getoverrun */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 258 = filler */
+		ns(struct sys_timer_delete_args),
+		.sy_call = (sy_call_t *)sys_timer_delete
+	},		/* 258 = timer_delete */
 	{
 		ns(struct linux_sys_clock_settime_args),
 		.sy_flags = SYCALL_ARG_PTR,

Index: src/sys/compat/linux/arch/m68k/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/m68k/linux_syscallargs.h:1.107 src/sys/compat/linux/arch/m68k/linux_syscallargs.h:1.108
--- src/sys/compat/linux/arch/m68k/linux_syscallargs.h:1.107	Sun Apr 26 19:20:19 2020
+++ src/sys/compat/linux/arch/m68k/linux_syscallargs.h	Sun Sep 19 23:02:22 2021
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.107 2020/04/26 19:20:19 thorpej Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.108 2021/09/19 23:02:22 thorpej Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.95 2020/04/26 18:53:32 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.96 2021/09/19 23:01:50 thorpej Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -908,6 +908,31 @@ struct linux_sys_set_tid_address_args {
 };
 check_syscall_args(linux_sys_set_tid_address)
 
+struct linux_sys_timer_create_args {
+	syscallarg(clockid_t) clockid;
+	syscallarg(struct linux_sigevent *) evp;
+	syscallarg(timer_t *) timerid;
+};
+check_syscall_args(linux_sys_timer_create)
+
+struct linux_sys_timer_settime_args {
+	syscallarg(timer_t) timerid;
+	syscallarg(int) flags;
+	syscallarg(const struct linux_itimerspec *) tim;
+	syscallarg(struct linux_itimerspec *) otim;
+};
+check_syscall_args(linux_sys_timer_settime)
+
+struct linux_sys_timer_gettime_args {
+	syscallarg(timer_t) timerid;
+	syscallarg(struct linux_itimerspec *) tim;
+};
+check_syscall_args(linux_sys_timer_gettime)
+
+struct sys_timer_getoverrun_args;
+
+struct sys_timer_delete_args;
+
 struct linux_sys_clock_settime_args {
 	syscallarg(clockid_t) which;
 	syscallarg(struct linux_timespec *) tp;
@@ -1524,6 +1549,16 @@ int	linux_sys_fadvise64(struct lwp *, co
 
 int	linux_sys_set_tid_address(struct lwp *, const struct linux_sys_set_tid_address_args *, register_t *);
 
+int	linux_sys_timer_create(struct lwp *, const struct linux_sys_timer_create_args *, register_t *);
+
+int	linux_sys_timer_settime(struct lwp *, const struct linux_sys_timer_settime_args *, register_t *);
+
+int	linux_sys_timer_gettime(struct lwp *, const struct linux_sys_timer_gettime_args *, register_t *);
+
+int	sys_timer_getoverrun(struct lwp *, const struct sys_timer_getoverrun_args *, register_t *);
+
+int	sys_timer_delete(struct lwp *, const struct sys_timer_delete_args *, register_t *);
+
 int	linux_sys_clock_settime(struct lwp *, const struct linux_sys_clock_settime_args *, register_t *);
 
 int	linux_sys_clock_gettime(struct lwp *, const struct linux_sys_clock_gettime_args *, register_t *);

Index: src/sys/compat/linux/arch/mips/linux_syscall.h
diff -u src/sys/compat/linux/arch/mips/linux_syscall.h:1.80 src/sys/compat/linux/arch/mips/linux_syscall.h:1.81
--- src/sys/compat/linux/arch/mips/linux_syscall.h:1.80	Sun Apr 26 19:20:19 2020
+++ src/sys/compat/linux/arch/mips/linux_syscall.h	Sun Sep 19 23:02:23 2021
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.80 2020/04/26 19:20:19 thorpej Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.81 2021/09/19 23:02:23 thorpej Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.68 2020/04/26 18:53:32 thorpej Exp  
+ * created from	NetBSD: syscalls.master,v 1.69 2021/09/19 23:01:50 thorpej Exp  
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -610,6 +610,21 @@
 /* syscall: "fstatfs64" ret: "int" args: "int" "size_t" "struct linux_statfs64 *" */
 #define	LINUX_SYS_fstatfs64	256
 
+/* syscall: "timer_create" ret: "int" args: "clockid_t" "struct linux_sigevent *" "timer_t *" */
+#define	LINUX_SYS_timer_create	257
+
+/* syscall: "timer_settime" ret: "int" args: "timer_t" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */
+#define	LINUX_SYS_timer_settime	258
+
+/* syscall: "timer_gettime" ret: "int" args: "timer_t" "struct linux_itimerspec *" */
+#define	LINUX_SYS_timer_gettime	259
+
+/* syscall: "timer_getoverrun" ret: "int" args: "timer_t" */
+#define	LINUX_SYS_timer_getoverrun	260
+
+/* syscall: "timer_delete" ret: "int" args: "timer_t" */
+#define	LINUX_SYS_timer_delete	261
+
 /* syscall: "clock_settime" ret: "int" args: "clockid_t" "struct linux_timespec *" */
 #define	LINUX_SYS_clock_settime	262
 

Index: src/sys/compat/linux/arch/mips/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/mips/linux_syscallargs.h:1.79 src/sys/compat/linux/arch/mips/linux_syscallargs.h:1.80
--- src/sys/compat/linux/arch/mips/linux_syscallargs.h:1.79	Sun Apr 26 19:20:19 2020
+++ src/sys/compat/linux/arch/mips/linux_syscallargs.h	Sun Sep 19 23:02:23 2021
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.79 2020/04/26 19:20:19 thorpej Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.80 2021/09/19 23:02:23 thorpej Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.68 2020/04/26 18:53:32 thorpej Exp  
+ * created from	NetBSD: syscalls.master,v 1.69 2021/09/19 23:01:50 thorpej Exp  
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -977,6 +977,31 @@ struct linux_sys_fstatfs64_args {
 };
 check_syscall_args(linux_sys_fstatfs64)
 
+struct linux_sys_timer_create_args {
+	syscallarg(clockid_t) clockid;
+	syscallarg(struct linux_sigevent *) evp;
+	syscallarg(timer_t *) timerid;
+};
+check_syscall_args(linux_sys_timer_create)
+
+struct linux_sys_timer_settime_args {
+	syscallarg(timer_t) timerid;
+	syscallarg(int) flags;
+	syscallarg(const struct linux_itimerspec *) tim;
+	syscallarg(struct linux_itimerspec *) otim;
+};
+check_syscall_args(linux_sys_timer_settime)
+
+struct linux_sys_timer_gettime_args {
+	syscallarg(timer_t) timerid;
+	syscallarg(struct linux_itimerspec *) tim;
+};
+check_syscall_args(linux_sys_timer_gettime)
+
+struct sys_timer_getoverrun_args;
+
+struct sys_timer_delete_args;
+
 struct linux_sys_clock_settime_args {
 	syscallarg(clockid_t) which;
 	syscallarg(struct linux_timespec *) tp;
@@ -1564,6 +1589,16 @@ int	linux_sys_statfs64(struct lwp *, con
 
 int	linux_sys_fstatfs64(struct lwp *, const struct linux_sys_fstatfs64_args *, register_t *);
 
+int	linux_sys_timer_create(struct lwp *, const struct linux_sys_timer_create_args *, register_t *);
+
+int	linux_sys_timer_settime(struct lwp *, const struct linux_sys_timer_settime_args *, register_t *);
+
+int	linux_sys_timer_gettime(struct lwp *, const struct linux_sys_timer_gettime_args *, register_t *);
+
+int	sys_timer_getoverrun(struct lwp *, const struct sys_timer_getoverrun_args *, register_t *);
+
+int	sys_timer_delete(struct lwp *, const struct sys_timer_delete_args *, register_t *);
+
 int	linux_sys_clock_settime(struct lwp *, const struct linux_sys_clock_settime_args *, register_t *);
 
 int	linux_sys_clock_gettime(struct lwp *, const struct linux_sys_clock_gettime_args *, register_t *);
Index: src/sys/compat/linux/arch/mips/linux_syscalls.c
diff -u src/sys/compat/linux/arch/mips/linux_syscalls.c:1.79 src/sys/compat/linux/arch/mips/linux_syscalls.c:1.80
--- src/sys/compat/linux/arch/mips/linux_syscalls.c:1.79	Sun Apr 26 19:20:19 2020
+++ src/sys/compat/linux/arch/mips/linux_syscalls.c	Sun Sep 19 23:02:23 2021
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.79 2020/04/26 19:20:19 thorpej Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.80 2021/09/19 23:02:23 thorpej Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.68 2020/04/26 18:53:32 thorpej Exp  
+ * created from	NetBSD: syscalls.master,v 1.69 2021/09/19 23:01:50 thorpej Exp  
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.79 2020/04/26 19:20:19 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.80 2021/09/19 23:02:23 thorpej Exp $");
 
 #if defined(_KERNEL_OPT)
 #include <sys/param.h>
@@ -287,11 +287,11 @@ const char *const linux_syscallnames[] =
 	/* 254 */	"fadvise64",
 	/* 255 */	"statfs64",
 	/* 256 */	"fstatfs64",
-	/* 257 */	"#257 (unimplemented timer_create)",
-	/* 258 */	"#258 (unimplemented timer_settime)",
-	/* 259 */	"#259 (unimplemented timer_gettime)",
-	/* 260 */	"#260 (unimplemented timer_getoverrun)",
-	/* 261 */	"#261 (unimplemented timer_delete)",
+	/* 257 */	"timer_create",
+	/* 258 */	"timer_settime",
+	/* 259 */	"timer_gettime",
+	/* 260 */	"timer_getoverrun",
+	/* 261 */	"timer_delete",
 	/* 262 */	"clock_settime",
 	/* 263 */	"clock_gettime",
 	/* 264 */	"clock_getres",
@@ -804,11 +804,11 @@ const char *const altlinux_syscallnames[
 	/* 254 */	NULL, /* fadvise64 */
 	/* 255 */	NULL, /* statfs64 */
 	/* 256 */	NULL, /* fstatfs64 */
-	/* 257 */	NULL, /* unimplemented timer_create */
-	/* 258 */	NULL, /* unimplemented timer_settime */
-	/* 259 */	NULL, /* unimplemented timer_gettime */
-	/* 260 */	NULL, /* unimplemented timer_getoverrun */
-	/* 261 */	NULL, /* unimplemented timer_delete */
+	/* 257 */	NULL, /* timer_create */
+	/* 258 */	NULL, /* timer_settime */
+	/* 259 */	NULL, /* timer_gettime */
+	/* 260 */	NULL, /* timer_getoverrun */
+	/* 261 */	NULL, /* timer_delete */
 	/* 262 */	NULL, /* clock_settime */
 	/* 263 */	NULL, /* clock_gettime */
 	/* 264 */	NULL, /* clock_getres */
Index: src/sys/compat/linux/arch/mips/linux_sysent.c
diff -u src/sys/compat/linux/arch/mips/linux_sysent.c:1.79 src/sys/compat/linux/arch/mips/linux_sysent.c:1.80
--- src/sys/compat/linux/arch/mips/linux_sysent.c:1.79	Sun Apr 26 19:20:19 2020
+++ src/sys/compat/linux/arch/mips/linux_sysent.c	Sun Sep 19 23:02:23 2021
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.79 2020/04/26 19:20:19 thorpej Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.80 2021/09/19 23:02:23 thorpej Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.68 2020/04/26 18:53:32 thorpej Exp  
+ * created from	NetBSD: syscalls.master,v 1.69 2021/09/19 23:01:50 thorpej Exp  
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.79 2020/04/26 19:20:19 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.80 2021/09/19 23:02:23 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/poll.h>
@@ -1121,20 +1121,28 @@ struct sysent linux_sysent[] = {
 		.sy_call = (sy_call_t *)linux_sys_fstatfs64
 	},		/* 256 = fstatfs64 */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 257 = filler */
+		ns(struct linux_sys_timer_create_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_create
+	},		/* 257 = timer_create */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 258 = filler */
+		ns(struct linux_sys_timer_settime_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_settime
+	},		/* 258 = timer_settime */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 259 = filler */
+		ns(struct linux_sys_timer_gettime_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_gettime
+	},		/* 259 = timer_gettime */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 260 = filler */
+		ns(struct sys_timer_getoverrun_args),
+		.sy_call = (sy_call_t *)sys_timer_getoverrun
+	},		/* 260 = timer_getoverrun */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 261 = filler */
+		ns(struct sys_timer_delete_args),
+		.sy_call = (sy_call_t *)sys_timer_delete
+	},		/* 261 = timer_delete */
 	{
 		ns(struct linux_sys_clock_settime_args),
 		.sy_flags = SYCALL_ARG_PTR,

Index: src/sys/compat/linux/arch/powerpc/linux_syscall.h
diff -u src/sys/compat/linux/arch/powerpc/linux_syscall.h:1.86 src/sys/compat/linux/arch/powerpc/linux_syscall.h:1.87
--- src/sys/compat/linux/arch/powerpc/linux_syscall.h:1.86	Sun Apr 26 19:20:19 2020
+++ src/sys/compat/linux/arch/powerpc/linux_syscall.h	Sun Sep 19 23:02:23 2021
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.86 2020/04/26 19:20:19 thorpej Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.87 2021/09/19 23:02:23 thorpej Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.74 2020/04/26 18:53:32 thorpej Exp  
+ * created from	NetBSD: syscalls.master,v 1.75 2021/09/19 23:01:50 thorpej Exp  
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -573,6 +573,21 @@
 /* syscall: "exit_group" ret: "int" args: "int" */
 #define	LINUX_SYS_exit_group	234
 
+/* syscall: "timer_create" ret: "int" args: "clockid_t" "struct linux_sigevent *" "timer_t *" */
+#define	LINUX_SYS_timer_create	240
+
+/* syscall: "timer_settime" ret: "int" args: "timer_t" "int" "const struct linux_itimerspec *" "struct linux_itimerspec *" */
+#define	LINUX_SYS_timer_settime	241
+
+/* syscall: "timer_gettime" ret: "int" args: "timer_t" "struct linux_itimerspec *" */
+#define	LINUX_SYS_timer_gettime	242
+
+/* syscall: "timer_getoverrun" ret: "int" args: "timer_t" */
+#define	LINUX_SYS_timer_getoverrun	243
+
+/* syscall: "timer_delete" ret: "int" args: "timer_t" */
+#define	LINUX_SYS_timer_delete	244
+
 /* syscall: "clock_settime" ret: "int" args: "clockid_t" "struct linux_timespec *" */
 #define	LINUX_SYS_clock_settime	245
 
Index: src/sys/compat/linux/arch/powerpc/linux_sysent.c
diff -u src/sys/compat/linux/arch/powerpc/linux_sysent.c:1.86 src/sys/compat/linux/arch/powerpc/linux_sysent.c:1.87
--- src/sys/compat/linux/arch/powerpc/linux_sysent.c:1.86	Sun Apr 26 19:20:19 2020
+++ src/sys/compat/linux/arch/powerpc/linux_sysent.c	Sun Sep 19 23:02:23 2021
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.86 2020/04/26 19:20:19 thorpej Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.87 2021/09/19 23:02:23 thorpej Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.74 2020/04/26 18:53:32 thorpej Exp  
+ * created from	NetBSD: syscalls.master,v 1.75 2021/09/19 23:01:50 thorpej Exp  
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.86 2020/04/26 19:20:19 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.87 2021/09/19 23:02:23 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/poll.h>
@@ -1045,20 +1045,28 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 239 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 240 = filler */
+		ns(struct linux_sys_timer_create_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_create
+	},		/* 240 = timer_create */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 241 = filler */
+		ns(struct linux_sys_timer_settime_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_settime
+	},		/* 241 = timer_settime */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 242 = filler */
+		ns(struct linux_sys_timer_gettime_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_timer_gettime
+	},		/* 242 = timer_gettime */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 243 = filler */
+		ns(struct sys_timer_getoverrun_args),
+		.sy_call = (sy_call_t *)sys_timer_getoverrun
+	},		/* 243 = timer_getoverrun */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 244 = filler */
+		ns(struct sys_timer_delete_args),
+		.sy_call = (sy_call_t *)sys_timer_delete
+	},		/* 244 = timer_delete */
 	{
 		ns(struct linux_sys_clock_settime_args),
 		.sy_flags = SYCALL_ARG_PTR,

Index: src/sys/compat/linux/arch/powerpc/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/powerpc/linux_syscallargs.h:1.85 src/sys/compat/linux/arch/powerpc/linux_syscallargs.h:1.86
--- src/sys/compat/linux/arch/powerpc/linux_syscallargs.h:1.85	Sun Apr 26 19:20:19 2020
+++ src/sys/compat/linux/arch/powerpc/linux_syscallargs.h	Sun Sep 19 23:02:23 2021
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.85 2020/04/26 19:20:19 thorpej Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.86 2021/09/19 23:02:23 thorpej Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.74 2020/04/26 18:53:32 thorpej Exp  
+ * created from	NetBSD: syscalls.master,v 1.75 2021/09/19 23:01:50 thorpej Exp  
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -847,6 +847,31 @@ struct linux_sys_exit_group_args {
 };
 check_syscall_args(linux_sys_exit_group)
 
+struct linux_sys_timer_create_args {
+	syscallarg(clockid_t) clockid;
+	syscallarg(struct linux_sigevent *) evp;
+	syscallarg(timer_t *) timerid;
+};
+check_syscall_args(linux_sys_timer_create)
+
+struct linux_sys_timer_settime_args {
+	syscallarg(timer_t) timerid;
+	syscallarg(int) flags;
+	syscallarg(const struct linux_itimerspec *) tim;
+	syscallarg(struct linux_itimerspec *) otim;
+};
+check_syscall_args(linux_sys_timer_settime)
+
+struct linux_sys_timer_gettime_args {
+	syscallarg(timer_t) timerid;
+	syscallarg(struct linux_itimerspec *) tim;
+};
+check_syscall_args(linux_sys_timer_gettime)
+
+struct sys_timer_getoverrun_args;
+
+struct sys_timer_delete_args;
+
 struct linux_sys_clock_settime_args {
 	syscallarg(clockid_t) which;
 	syscallarg(struct linux_timespec *) tp;
@@ -1423,6 +1448,16 @@ int	linux_sys_fadvise64(struct lwp *, co
 
 int	linux_sys_exit_group(struct lwp *, const struct linux_sys_exit_group_args *, register_t *);
 
+int	linux_sys_timer_create(struct lwp *, const struct linux_sys_timer_create_args *, register_t *);
+
+int	linux_sys_timer_settime(struct lwp *, const struct linux_sys_timer_settime_args *, register_t *);
+
+int	linux_sys_timer_gettime(struct lwp *, const struct linux_sys_timer_gettime_args *, register_t *);
+
+int	sys_timer_getoverrun(struct lwp *, const struct sys_timer_getoverrun_args *, register_t *);
+
+int	sys_timer_delete(struct lwp *, const struct sys_timer_delete_args *, register_t *);
+
 int	linux_sys_clock_settime(struct lwp *, const struct linux_sys_clock_settime_args *, register_t *);
 
 int	linux_sys_clock_gettime(struct lwp *, const struct linux_sys_clock_gettime_args *, register_t *);
Index: src/sys/compat/linux/arch/powerpc/linux_syscalls.c
diff -u src/sys/compat/linux/arch/powerpc/linux_syscalls.c:1.85 src/sys/compat/linux/arch/powerpc/linux_syscalls.c:1.86
--- src/sys/compat/linux/arch/powerpc/linux_syscalls.c:1.85	Sun Apr 26 19:20:19 2020
+++ src/sys/compat/linux/arch/powerpc/linux_syscalls.c	Sun Sep 19 23:02:23 2021
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.85 2020/04/26 19:20:19 thorpej Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.86 2021/09/19 23:02:23 thorpej Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.74 2020/04/26 18:53:32 thorpej Exp  
+ * created from	NetBSD: syscalls.master,v 1.75 2021/09/19 23:01:50 thorpej Exp  
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.85 2020/04/26 19:20:19 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.86 2021/09/19 23:02:23 thorpej Exp $");
 
 #if defined(_KERNEL_OPT)
 #include <sys/param.h>
@@ -273,11 +273,11 @@ const char *const linux_syscallnames[] =
 	/* 237 */	"#237 (unimplemented epoll_ctl)",
 	/* 238 */	"#238 (unimplemented epoll_wait)",
 	/* 239 */	"#239 (unimplemented remap_file_pages)",
-	/* 240 */	"#240 (unimplemented timer_create)",
-	/* 241 */	"#241 (unimplemented timer_settime)",
-	/* 242 */	"#242 (unimplemented timer_gettime)",
-	/* 243 */	"#243 (unimplemented timer_getoverrun)",
-	/* 244 */	"#244 (unimplemented timer_delete)",
+	/* 240 */	"timer_create",
+	/* 241 */	"timer_settime",
+	/* 242 */	"timer_gettime",
+	/* 243 */	"timer_getoverrun",
+	/* 244 */	"timer_delete",
 	/* 245 */	"clock_settime",
 	/* 246 */	"clock_gettime",
 	/* 247 */	"clock_getres",
@@ -795,11 +795,11 @@ const char *const altlinux_syscallnames[
 	/* 237 */	NULL, /* unimplemented epoll_ctl */
 	/* 238 */	NULL, /* unimplemented epoll_wait */
 	/* 239 */	NULL, /* unimplemented remap_file_pages */
-	/* 240 */	NULL, /* unimplemented timer_create */
-	/* 241 */	NULL, /* unimplemented timer_settime */
-	/* 242 */	NULL, /* unimplemented timer_gettime */
-	/* 243 */	NULL, /* unimplemented timer_getoverrun */
-	/* 244 */	NULL, /* unimplemented timer_delete */
+	/* 240 */	NULL, /* timer_create */
+	/* 241 */	NULL, /* timer_settime */
+	/* 242 */	NULL, /* timer_gettime */
+	/* 243 */	NULL, /* timer_getoverrun */
+	/* 244 */	NULL, /* timer_delete */
 	/* 245 */	NULL, /* clock_settime */
 	/* 246 */	NULL, /* clock_gettime */
 	/* 247 */	NULL, /* clock_getres */

Index: src/sys/compat/linux32/arch/amd64/linux32_syscall.h
diff -u src/sys/compat/linux32/arch/amd64/linux32_syscall.h:1.81 src/sys/compat/linux32/arch/amd64/linux32_syscall.h:1.82
--- src/sys/compat/linux32/arch/amd64/linux32_syscall.h:1.81	Sun Apr 26 19:20:58 2020
+++ src/sys/compat/linux32/arch/amd64/linux32_syscall.h	Sun Sep 19 23:02:23 2021
@@ -1,10 +1,10 @@
-/* $NetBSD: linux32_syscall.h,v 1.81 2020/04/26 19:20:58 thorpej Exp $ */
+/* $NetBSD: linux32_syscall.h,v 1.82 2021/09/19 23:02:23 thorpej Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.71 2020/04/26 18:53:33 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.72 2021/09/19 23:01:50 thorpej Exp
  */
 
 #ifndef _LINUX32_SYS_SYSCALL_H_
@@ -627,6 +627,21 @@
 /* syscall: "set_tid_address" ret: "int" args: "linux32_intp_t" */
 #define	LINUX32_SYS_set_tid_address	258
 
+/* syscall: "timer_create" ret: "int" args: "clockid_t" "struct linux32_sigevent *" "timer_t *" */
+#define	LINUX32_SYS_timer_create	259
+
+/* syscall: "timer_settime" ret: "int" args: "timer_t" "int" "const struct linux32_itimerspec *" "struct linux32_itimerspec *" */
+#define	LINUX32_SYS_timer_settime	260
+
+/* syscall: "timer_gettime" ret: "int" args: "timer_t" "struct linux32_itimerspec *" */
+#define	LINUX32_SYS_timer_gettime	261
+
+/* syscall: "timer_getoverrun" ret: "int" args: "timer_t" */
+#define	LINUX32_SYS_timer_getoverrun	262
+
+/* syscall: "timer_delete" ret: "int" args: "timer_t" */
+#define	LINUX32_SYS_timer_delete	263
+
 /* syscall: "clock_settime" ret: "int" args: "clockid_t" "linux32_timespecp_t" */
 #define	LINUX32_SYS_clock_settime	264
 
Index: src/sys/compat/linux32/arch/amd64/linux32_syscallargs.h
diff -u src/sys/compat/linux32/arch/amd64/linux32_syscallargs.h:1.81 src/sys/compat/linux32/arch/amd64/linux32_syscallargs.h:1.82
--- src/sys/compat/linux32/arch/amd64/linux32_syscallargs.h:1.81	Sun Apr 26 19:20:58 2020
+++ src/sys/compat/linux32/arch/amd64/linux32_syscallargs.h	Sun Sep 19 23:02:23 2021
@@ -1,10 +1,10 @@
-/* $NetBSD: linux32_syscallargs.h,v 1.81 2020/04/26 19:20:58 thorpej Exp $ */
+/* $NetBSD: linux32_syscallargs.h,v 1.82 2021/09/19 23:02:23 thorpej Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.71 2020/04/26 18:53:33 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.72 2021/09/19 23:01:50 thorpej Exp
  */
 
 #ifndef _LINUX32_SYS_SYSCALLARGS_H_
@@ -854,6 +854,31 @@ struct linux32_sys_set_tid_address_args 
 };
 check_syscall_args(linux32_sys_set_tid_address)
 
+struct linux32_sys_timer_create_args {
+	syscallarg(clockid_t) clockid;
+	syscallarg(struct linux32_sigevent *) evp;
+	syscallarg(timer_t *) timerid;
+};
+check_syscall_args(linux32_sys_timer_create)
+
+struct linux32_sys_timer_settime_args {
+	syscallarg(timer_t) timerid;
+	syscallarg(int) flags;
+	syscallarg(const struct linux32_itimerspec *) tim;
+	syscallarg(struct linux32_itimerspec *) otim;
+};
+check_syscall_args(linux32_sys_timer_settime)
+
+struct linux32_sys_timer_gettime_args {
+	syscallarg(timer_t) timerid;
+	syscallarg(struct linux32_itimerspec *) tim;
+};
+check_syscall_args(linux32_sys_timer_gettime)
+
+struct sys_timer_getoverrun_args;
+
+struct sys_timer_delete_args;
+
 struct linux32_sys_clock_settime_args {
 	syscallarg(clockid_t) which;
 	syscallarg(linux32_timespecp_t) tp;
@@ -1417,6 +1442,16 @@ int	linux32_sys_exit_group(struct lwp *,
 
 int	linux32_sys_set_tid_address(struct lwp *, const struct linux32_sys_set_tid_address_args *, register_t *);
 
+int	linux32_sys_timer_create(struct lwp *, const struct linux32_sys_timer_create_args *, register_t *);
+
+int	linux32_sys_timer_settime(struct lwp *, const struct linux32_sys_timer_settime_args *, register_t *);
+
+int	linux32_sys_timer_gettime(struct lwp *, const struct linux32_sys_timer_gettime_args *, register_t *);
+
+int	sys_timer_getoverrun(struct lwp *, const struct sys_timer_getoverrun_args *, register_t *);
+
+int	sys_timer_delete(struct lwp *, const struct sys_timer_delete_args *, register_t *);
+
 int	linux32_sys_clock_settime(struct lwp *, const struct linux32_sys_clock_settime_args *, register_t *);
 
 int	linux32_sys_clock_gettime(struct lwp *, const struct linux32_sys_clock_gettime_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.81 src/sys/compat/linux32/arch/amd64/linux32_syscalls.c:1.82
--- src/sys/compat/linux32/arch/amd64/linux32_syscalls.c:1.81	Sun Apr 26 19:20:58 2020
+++ src/sys/compat/linux32/arch/amd64/linux32_syscalls.c	Sun Sep 19 23:02:23 2021
@@ -1,14 +1,14 @@
-/* $NetBSD: linux32_syscalls.c,v 1.81 2020/04/26 19:20:58 thorpej Exp $ */
+/* $NetBSD: linux32_syscalls.c,v 1.82 2021/09/19 23:02:23 thorpej Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.71 2020/04/26 18:53:33 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.72 2021/09/19 23:01:50 thorpej Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux32_syscalls.c,v 1.81 2020/04/26 19:20:58 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux32_syscalls.c,v 1.82 2021/09/19 23:02:23 thorpej Exp $");
 
 #if defined(_KERNEL_OPT)
 #include <sys/param.h>
@@ -298,11 +298,11 @@ const char *const linux32_syscallnames[]
 	/* 256 */	"#256 (unimplemented epoll_wait)",
 	/* 257 */	"#257 (unimplemented remap_file_pages)",
 	/* 258 */	"set_tid_address",
-	/* 259 */	"#259 (unimplemented timer_create)",
-	/* 260 */	"#260 (unimplemented timer_settime)",
-	/* 261 */	"#261 (unimplemented timer_gettime)",
-	/* 262 */	"#262 (unimplemented timer_getoverrun)",
-	/* 263 */	"#263 (unimplemented timer_delete)",
+	/* 259 */	"timer_create",
+	/* 260 */	"timer_settime",
+	/* 261 */	"timer_gettime",
+	/* 262 */	"timer_getoverrun",
+	/* 263 */	"timer_delete",
 	/* 264 */	"clock_settime",
 	/* 265 */	"clock_gettime",
 	/* 266 */	"clock_getres",
@@ -817,11 +817,11 @@ const char *const altlinux32_syscallname
 	/* 256 */	NULL, /* unimplemented epoll_wait */
 	/* 257 */	NULL, /* unimplemented remap_file_pages */
 	/* 258 */	NULL, /* set_tid_address */
-	/* 259 */	NULL, /* unimplemented timer_create */
-	/* 260 */	NULL, /* unimplemented timer_settime */
-	/* 261 */	NULL, /* unimplemented timer_gettime */
-	/* 262 */	NULL, /* unimplemented timer_getoverrun */
-	/* 263 */	NULL, /* unimplemented timer_delete */
+	/* 259 */	NULL, /* timer_create */
+	/* 260 */	NULL, /* timer_settime */
+	/* 261 */	NULL, /* timer_gettime */
+	/* 262 */	NULL, /* timer_getoverrun */
+	/* 263 */	NULL, /* timer_delete */
 	/* 264 */	NULL, /* clock_settime */
 	/* 265 */	NULL, /* clock_gettime */
 	/* 266 */	NULL, /* clock_getres */
Index: src/sys/compat/linux32/arch/amd64/linux32_sysent.c
diff -u src/sys/compat/linux32/arch/amd64/linux32_sysent.c:1.81 src/sys/compat/linux32/arch/amd64/linux32_sysent.c:1.82
--- src/sys/compat/linux32/arch/amd64/linux32_sysent.c:1.81	Sun Apr 26 19:20:58 2020
+++ src/sys/compat/linux32/arch/amd64/linux32_sysent.c	Sun Sep 19 23:02:23 2021
@@ -1,14 +1,14 @@
-/* $NetBSD: linux32_sysent.c,v 1.81 2020/04/26 19:20:58 thorpej Exp $ */
+/* $NetBSD: linux32_sysent.c,v 1.82 2021/09/19 23:02:23 thorpej Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.71 2020/04/26 18:53:33 thorpej Exp
+ * created from	NetBSD: syscalls.master,v 1.72 2021/09/19 23:01:50 thorpej Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux32_sysent.c,v 1.81 2020/04/26 19:20:58 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux32_sysent.c,v 1.82 2021/09/19 23:02:23 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/poll.h>
@@ -999,20 +999,28 @@ struct sysent linux32_sysent[] = {
 		.sy_call = (sy_call_t *)linux32_sys_set_tid_address
 	},		/* 258 = set_tid_address */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 259 = filler */
-	{
-		.sy_call = linux_sys_nosys,
-	},		/* 260 = filler */
-	{
-		.sy_call = linux_sys_nosys,
-	},		/* 261 = filler */
-	{
-		.sy_call = linux_sys_nosys,
-	},		/* 262 = filler */
-	{
-		.sy_call = linux_sys_nosys,
-	},		/* 263 = filler */
+		ns(struct linux32_sys_timer_create_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux32_sys_timer_create
+	},		/* 259 = timer_create */
+	{
+		ns(struct linux32_sys_timer_settime_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux32_sys_timer_settime
+	},		/* 260 = timer_settime */
+	{
+		ns(struct linux32_sys_timer_gettime_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux32_sys_timer_gettime
+	},		/* 261 = timer_gettime */
+	{
+		ns(struct sys_timer_getoverrun_args),
+		.sy_call = (sy_call_t *)sys_timer_getoverrun
+	},		/* 262 = timer_getoverrun */
+	{
+		ns(struct sys_timer_delete_args),
+		.sy_call = (sy_call_t *)sys_timer_delete
+	},		/* 263 = timer_delete */
 	{
 		ns(struct linux32_sys_clock_settime_args),
 		.sy_call = (sy_call_t *)linux32_sys_clock_settime

Index: src/sys/compat/linux32/arch/amd64/linux32_systrace_args.c
diff -u src/sys/compat/linux32/arch/amd64/linux32_systrace_args.c:1.8 src/sys/compat/linux32/arch/amd64/linux32_systrace_args.c:1.9
--- src/sys/compat/linux32/arch/amd64/linux32_systrace_args.c:1.8	Sun Apr 26 19:20:58 2020
+++ src/sys/compat/linux32/arch/amd64/linux32_systrace_args.c	Sun Sep 19 23:02:23 2021
@@ -1,7 +1,7 @@
-/* $NetBSD: linux32_systrace_args.c,v 1.8 2020/04/26 19:20:58 thorpej Exp $ */
+/* $NetBSD: linux32_systrace_args.c,v 1.9 2021/09/19 23:02:23 thorpej Exp $ */
 
 /*
- * System call argument to DTrace register array converstion.
+ * System call argument to DTrace register array conversion.
  *
  * DO NOT EDIT-- this file is automatically generated.
  * This file is part of the DTrace syscall provider.
@@ -1612,6 +1612,47 @@ systrace_args(register_t sysnum, const v
 		*n_args = 1;
 		break;
 	}
+	/* linux32_sys_timer_create */
+	case 259: {
+		const struct linux32_sys_timer_create_args *p = params;
+		iarg[0] = SCARG(p, clockid); /* clockid_t */
+		uarg[1] = (intptr_t) SCARG(p, evp); /* struct linux32_sigevent * */
+		uarg[2] = (intptr_t) SCARG(p, timerid); /* timer_t * */
+		*n_args = 3;
+		break;
+	}
+	/* linux32_sys_timer_settime */
+	case 260: {
+		const struct linux32_sys_timer_settime_args *p = params;
+		iarg[0] = SCARG(p, timerid); /* timer_t */
+		iarg[1] = SCARG(p, flags); /* int */
+		uarg[2] = (intptr_t) SCARG(p, tim); /* const struct linux32_itimerspec * */
+		uarg[3] = (intptr_t) SCARG(p, otim); /* struct linux32_itimerspec * */
+		*n_args = 4;
+		break;
+	}
+	/* linux32_sys_timer_gettime */
+	case 261: {
+		const struct linux32_sys_timer_gettime_args *p = params;
+		iarg[0] = SCARG(p, timerid); /* timer_t */
+		uarg[1] = (intptr_t) SCARG(p, tim); /* struct linux32_itimerspec * */
+		*n_args = 2;
+		break;
+	}
+	/* sys_timer_getoverrun */
+	case 262: {
+		const struct sys_timer_getoverrun_args *p = params;
+		iarg[0] = SCARG(p, timerid); /* timer_t */
+		*n_args = 1;
+		break;
+	}
+	/* sys_timer_delete */
+	case 263: {
+		const struct sys_timer_delete_args *p = params;
+		iarg[0] = SCARG(p, timerid); /* timer_t */
+		*n_args = 1;
+		break;
+	}
 	/* linux32_sys_clock_settime */
 	case 264: {
 		const struct linux32_sys_clock_settime_args *p = params;
@@ -4448,6 +4489,74 @@ systrace_entry_setargdesc(int sysnum, in
 			break;
 		};
 		break;
+	/* linux32_sys_timer_create */
+	case 259:
+		switch(ndx) {
+		case 0:
+			p = "clockid_t";
+			break;
+		case 1:
+			p = "struct linux32_sigevent *";
+			break;
+		case 2:
+			p = "timer_t *";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* linux32_sys_timer_settime */
+	case 260:
+		switch(ndx) {
+		case 0:
+			p = "timer_t";
+			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_timer_gettime */
+	case 261:
+		switch(ndx) {
+		case 0:
+			p = "timer_t";
+			break;
+		case 1:
+			p = "struct linux32_itimerspec *";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* sys_timer_getoverrun */
+	case 262:
+		switch(ndx) {
+		case 0:
+			p = "timer_t";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* sys_timer_delete */
+	case 263:
+		switch(ndx) {
+		case 0:
+			p = "timer_t";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* linux32_sys_clock_settime */
 	case 264:
 		switch(ndx) {
@@ -5881,6 +5990,31 @@ systrace_return_setargdesc(int sysnum, i
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* linux32_sys_timer_create */
+	case 259:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* linux32_sys_timer_settime */
+	case 260:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* linux32_sys_timer_gettime */
+	case 261:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* sys_timer_getoverrun */
+	case 262:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* sys_timer_delete */
+	case 263:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux32_sys_clock_settime */
 	case 264:
 		if (ndx == 0 || ndx == 1)

Reply via email to