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)