Module Name:    src
Committed By:   christos
Date:           Sat Jun 29 13:46:32 UTC 2024

Modified Files:
        src/sys/compat/linux/arch/aarch64: linux_syscall.h linux_syscallargs.h
            linux_syscalls.c linux_sysent.c linux_systrace_args.c
        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

Log Message:
regen


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sys/compat/linux/arch/aarch64/linux_syscall.h \
    src/sys/compat/linux/arch/aarch64/linux_syscallargs.h \
    src/sys/compat/linux/arch/aarch64/linux_syscalls.c \
    src/sys/compat/linux/arch/aarch64/linux_sysent.c \
    src/sys/compat/linux/arch/aarch64/linux_systrace_args.c
cvs rdiff -u -r1.119 -r1.120 src/sys/compat/linux/arch/alpha/linux_syscall.h \
    src/sys/compat/linux/arch/alpha/linux_sysent.c
cvs rdiff -u -r1.118 -r1.119 \
    src/sys/compat/linux/arch/alpha/linux_syscallargs.h
cvs rdiff -u -r1.120 -r1.121 src/sys/compat/linux/arch/alpha/linux_syscalls.c
cvs rdiff -u -r1.81 -r1.82 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.25 -r1.26 \
    src/sys/compat/linux/arch/amd64/linux_systrace_args.c
cvs rdiff -u -r1.92 -r1.93 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.25 -r1.26 \
    src/sys/compat/linux/arch/arm/linux_systrace_args.c
cvs rdiff -u -r1.126 -r1.127 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.127 -r1.128 src/sys/compat/linux/arch/i386/linux_syscalls.c
cvs rdiff -u -r1.21 -r1.22 \
    src/sys/compat/linux/arch/i386/linux_systrace_args.c
cvs rdiff -u -r1.117 -r1.118 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.116 -r1.117 \
    src/sys/compat/linux/arch/m68k/linux_syscallargs.h
cvs rdiff -u -r1.90 -r1.91 src/sys/compat/linux/arch/mips/linux_syscall.h
cvs rdiff -u -r1.89 -r1.90 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.96 -r1.97 src/sys/compat/linux/arch/powerpc/linux_syscall.h \
    src/sys/compat/linux/arch/powerpc/linux_sysent.c
cvs rdiff -u -r1.95 -r1.96 \
    src/sys/compat/linux/arch/powerpc/linux_syscallargs.h \
    src/sys/compat/linux/arch/powerpc/linux_syscalls.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/aarch64/linux_syscall.h
diff -u src/sys/compat/linux/arch/aarch64/linux_syscall.h:1.10 src/sys/compat/linux/arch/aarch64/linux_syscall.h:1.11
--- src/sys/compat/linux/arch/aarch64/linux_syscall.h:1.10	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/aarch64/linux_syscall.h	Sat Jun 29 09:46:31 2024
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.10 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.11 2024/06/29 13:46:31 christos Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.11 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.12 2024/06/29 13:46:09 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -423,6 +423,9 @@
 /* syscall: "umask" ret: "int" args: "int" */
 #define	LINUX_SYS_umask	166
 
+/* syscall: "getcpu" ret: "int" args: "unsigned int *" "unsigned int *" "struct linux_getcpu_cache *" */
+#define	LINUX_SYS_getcpu	168
+
 /* syscall: "gettimeofday" ret: "int" args: "struct timeval50 *" "struct timezone *" */
 #define	LINUX_SYS_gettimeofday	169
 
@@ -621,6 +624,9 @@
 /* syscall: "close_range" ret: "int" args: "unsigned int" "unsigned int" "unsigned int" */
 #define	LINUX_SYS_close_range	436
 
+/* syscall: "faccessat2" ret: "int" args: "int" "const char *" "int" "int" */
+#define	LINUX_SYS_faccessat2	439
+
 /* syscall: "nosys" ret: "int" args: */
 #define	LINUX_SYS_nosys	440
 
Index: src/sys/compat/linux/arch/aarch64/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/aarch64/linux_syscallargs.h:1.10 src/sys/compat/linux/arch/aarch64/linux_syscallargs.h:1.11
--- src/sys/compat/linux/arch/aarch64/linux_syscallargs.h:1.10	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/aarch64/linux_syscallargs.h	Sat Jun 29 09:46:31 2024
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.10 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.11 2024/06/29 13:46:31 christos Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.11 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.12 2024/06/29 13:46:09 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -756,6 +756,13 @@ struct compat_50_sys_getrusage_args;
 
 struct sys_umask_args;
 
+struct linux_sys_getcpu_args {
+	syscallarg(unsigned int *) cpu;
+	syscallarg(unsigned int *) node;
+	syscallarg(struct linux_getcpu_cache *) tcache;
+};
+check_syscall_args(linux_sys_getcpu)
+
 struct linux_sys_gettimeofday_args {
 	syscallarg(struct timeval50 *) tp;
 	syscallarg(struct timezone *) tzp;
@@ -1053,6 +1060,14 @@ struct linux_sys_close_range_args {
 };
 check_syscall_args(linux_sys_close_range)
 
+struct linux_sys_faccessat2_args {
+	syscallarg(int) fd;
+	syscallarg(const char *) path;
+	syscallarg(int) amode;
+	syscallarg(int) flags;
+};
+check_syscall_args(linux_sys_faccessat2)
+
 struct linux_sys_epoll_pwait2_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1340,6 +1355,8 @@ int	compat_50_sys_getrusage(struct lwp *
 
 int	sys_umask(struct lwp *, const struct sys_umask_args *, register_t *);
 
+int	linux_sys_getcpu(struct lwp *, const struct linux_sys_getcpu_args *, register_t *);
+
 int	linux_sys_gettimeofday(struct lwp *, const struct linux_sys_gettimeofday_args *, register_t *);
 
 int	linux_sys_settimeofday(struct lwp *, const struct linux_sys_settimeofday_args *, register_t *);
@@ -1475,6 +1492,8 @@ int	linux_sys_statx(struct lwp *, const 
 
 int	linux_sys_close_range(struct lwp *, const struct linux_sys_close_range_args *, register_t *);
 
+int	linux_sys_faccessat2(struct lwp *, const struct linux_sys_faccessat2_args *, register_t *);
+
 int	linux_sys_nosys(struct lwp *, const void *, register_t *);
 
 int	linux_sys_epoll_pwait2(struct lwp *, const struct linux_sys_epoll_pwait2_args *, register_t *);
Index: src/sys/compat/linux/arch/aarch64/linux_syscalls.c
diff -u src/sys/compat/linux/arch/aarch64/linux_syscalls.c:1.10 src/sys/compat/linux/arch/aarch64/linux_syscalls.c:1.11
--- src/sys/compat/linux/arch/aarch64/linux_syscalls.c:1.10	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/aarch64/linux_syscalls.c	Sat Jun 29 09:46:31 2024
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.10 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.11 2024/06/29 13:46:31 christos Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.11 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.12 2024/06/29 13:46:09 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.10 2023/08/19 17:50:24 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.11 2024/06/29 13:46:31 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #if defined(_KERNEL_OPT)
@@ -30,6 +30,7 @@ __KERNEL_RCSID(0, "$NetBSD: linux_syscal
 #include <compat/linux/common/linux_misc.h>
 #include <compat/linux/common/linux_mmap.h>
 #include <compat/linux/common/linux_msg.h>
+#include <compat/linux/common/linux_sched.h>
 #include <compat/linux/common/linux_sem.h>
 #include <compat/linux/common/linux_shm.h>
 #include <compat/linux/common/linux_siginfo.h>
@@ -208,7 +209,7 @@ const char *const linux_syscallnames[] =
 	/* 165 */	"getrusage",
 	/* 166 */	"umask",
 	/* 167 */	"#167 (unimplemented prctl)",
-	/* 168 */	"#168 (unimplemented getcpu)",
+	/* 168 */	"getcpu",
 	/* 169 */	"gettimeofday",
 	/* 170 */	"settimeofday",
 	/* 171 */	"#171 (unimplemented adjtimex)",
@@ -500,7 +501,7 @@ const char *const linux_syscallnames[] =
 	/* 436 */	"close_range",
 	/* 437 */	"#437 (unimplemented openat2)",
 	/* 438 */	"#438 (unimplemented pidfd_getfd)",
-	/* 439 */	"#439 (unimplemented faccessat2)",
+	/* 439 */	"faccessat2",
 	/* 440 */	"nosys",
 	/* 441 */	"epoll_pwait2",
 	/* 442 */	"# filler",
@@ -746,7 +747,7 @@ const char *const altlinux_syscallnames[
 	/* 165 */	NULL, /* getrusage */
 	/* 166 */	NULL, /* umask */
 	/* 167 */	NULL, /* unimplemented prctl */
-	/* 168 */	NULL, /* unimplemented getcpu */
+	/* 168 */	NULL, /* getcpu */
 	/* 169 */	NULL, /* gettimeofday */
 	/* 170 */	NULL, /* settimeofday */
 	/* 171 */	NULL, /* unimplemented adjtimex */
@@ -1038,7 +1039,7 @@ const char *const altlinux_syscallnames[
 	/* 436 */	NULL, /* close_range */
 	/* 437 */	NULL, /* unimplemented openat2 */
 	/* 438 */	NULL, /* unimplemented pidfd_getfd */
-	/* 439 */	NULL, /* unimplemented faccessat2 */
+	/* 439 */	NULL, /* faccessat2 */
 	/* 440 */	NULL, /* nosys */
 	/* 441 */	NULL, /* epoll_pwait2 */
 	/* 442 */	NULL, /* filler */
Index: src/sys/compat/linux/arch/aarch64/linux_sysent.c
diff -u src/sys/compat/linux/arch/aarch64/linux_sysent.c:1.10 src/sys/compat/linux/arch/aarch64/linux_sysent.c:1.11
--- src/sys/compat/linux/arch/aarch64/linux_sysent.c:1.10	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/aarch64/linux_sysent.c	Sat Jun 29 09:46:31 2024
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.10 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.11 2024/06/29 13:46:31 christos Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.11 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.12 2024/06/29 13:46:09 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.10 2023/08/19 17:50:24 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.11 2024/06/29 13:46:31 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_sysv.h"
@@ -29,6 +29,7 @@ __KERNEL_RCSID(0, "$NetBSD: linux_sysent
 #include <compat/linux/common/linux_misc.h>
 #include <compat/linux/common/linux_mmap.h>
 #include <compat/linux/common/linux_msg.h>
+#include <compat/linux/common/linux_sched.h>
 #include <compat/linux/common/linux_sem.h>
 #include <compat/linux/common/linux_shm.h>
 #include <compat/linux/common/linux_siginfo.h>
@@ -770,8 +771,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 167 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 168 = filler */
+		ns(struct linux_sys_getcpu_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_getcpu
+	},		/* 168 = getcpu */
 	{
 		ns(struct linux_sys_gettimeofday_args),
 		.sy_flags = SYCALL_ARG_PTR,
@@ -1728,8 +1731,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 438 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 439 = filler */
+		ns(struct linux_sys_faccessat2_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_faccessat2
+	},		/* 439 = faccessat2 */
 	{
 		.sy_call = (sy_call_t *)linux_sys_nosys
 	},		/* 440 = nosys */
Index: src/sys/compat/linux/arch/aarch64/linux_systrace_args.c
diff -u src/sys/compat/linux/arch/aarch64/linux_systrace_args.c:1.10 src/sys/compat/linux/arch/aarch64/linux_systrace_args.c:1.11
--- src/sys/compat/linux/arch/aarch64/linux_systrace_args.c:1.10	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/aarch64/linux_systrace_args.c	Sat Jun 29 09:46:31 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_systrace_args.c,v 1.10 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_systrace_args.c,v 1.11 2024/06/29 13:46:31 christos Exp $ */
 
 /*
  * System call argument to DTrace register array conversion.
@@ -1177,6 +1177,15 @@ systrace_args(register_t sysnum, const v
 		*n_args = 1;
 		break;
 	}
+	/* linux_sys_getcpu */
+	case 168: {
+		const struct linux_sys_getcpu_args *p = params;
+		uarg[0] = (intptr_t) SCARG(p, cpu); /* unsigned int * */
+		uarg[1] = (intptr_t) SCARG(p, node); /* unsigned int * */
+		uarg[2] = (intptr_t) SCARG(p, tcache); /* struct linux_getcpu_cache * */
+		*n_args = 3;
+		break;
+	}
 	/* linux_sys_gettimeofday */
 	case 169: {
 		const struct linux_sys_gettimeofday_args *p = params;
@@ -1730,6 +1739,16 @@ systrace_args(register_t sysnum, const v
 		*n_args = 3;
 		break;
 	}
+	/* linux_sys_faccessat2 */
+	case 439: {
+		const struct linux_sys_faccessat2_args *p = params;
+		iarg[0] = SCARG(p, fd); /* int */
+		uarg[1] = (intptr_t) SCARG(p, path); /* const char * */
+		iarg[2] = SCARG(p, amode); /* int */
+		iarg[3] = SCARG(p, flags); /* int */
+		*n_args = 4;
+		break;
+	}
 	/* linux_sys_nosys */
 	case 440: {
 		*n_args = 0;
@@ -3740,6 +3759,22 @@ systrace_entry_setargdesc(int sysnum, in
 			break;
 		};
 		break;
+	/* linux_sys_getcpu */
+	case 168:
+		switch(ndx) {
+		case 0:
+			p = "unsigned int *";
+			break;
+		case 1:
+			p = "unsigned int *";
+			break;
+		case 2:
+			p = "struct linux_getcpu_cache *";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* linux_sys_gettimeofday */
 	case 169:
 		switch(ndx) {
@@ -4680,6 +4715,25 @@ systrace_entry_setargdesc(int sysnum, in
 			break;
 		};
 		break;
+	/* linux_sys_faccessat2 */
+	case 439:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "const char *";
+			break;
+		case 2:
+			p = "int";
+			break;
+		case 3:
+			p = "int";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* linux_sys_nosys */
 	case 440:
 		break;
@@ -5389,6 +5443,11 @@ systrace_return_setargdesc(int sysnum, i
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* linux_sys_getcpu */
+	case 168:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_sys_gettimeofday */
 	case 169:
 		if (ndx == 0 || ndx == 1)
@@ -5689,6 +5748,11 @@ systrace_return_setargdesc(int sysnum, i
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* linux_sys_faccessat2 */
+	case 439:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_sys_nosys */
 	case 440:
 	/* linux_sys_epoll_pwait2 */

Index: src/sys/compat/linux/arch/alpha/linux_syscall.h
diff -u src/sys/compat/linux/arch/alpha/linux_syscall.h:1.119 src/sys/compat/linux/arch/alpha/linux_syscall.h:1.120
--- src/sys/compat/linux/arch/alpha/linux_syscall.h:1.119	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/alpha/linux_syscall.h	Sat Jun 29 09:46:31 2024
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.119 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.120 2024/06/29 13:46:31 christos Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.106 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.107 2024/06/29 13:46:09 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -735,6 +735,9 @@
 /* syscall: "__futex_get_robust_list" ret: "int" args: "lwpid_t" "void **" "size_t *" */
 #define	LINUX_SYS___futex_get_robust_list	467
 
+/* syscall: "getcpu" ret: "int" args: "unsigned int *" "unsigned int *" "struct linux_getcpu_cache *" */
+#define	LINUX_SYS_getcpu	473
+
 /* syscall: "epoll_pwait" ret: "int" args: "int" "struct linux_epoll_event *" "int" "int" "const linux_sigset_t *" */
 #define	LINUX_SYS_epoll_pwait	474
 
@@ -795,6 +798,9 @@
 /* syscall: "close_range" ret: "int" args: "unsigned int" "unsigned int" "unsigned int" */
 #define	LINUX_SYS_close_range	546
 
+/* syscall: "faccessat2" ret: "int" args: "int" "const char *" "int" "int" */
+#define	LINUX_SYS_faccessat2	549
+
 /* syscall: "epoll_pwait2" ret: "int" args: "int" "struct linux_epoll_event *" "int" "const struct linux_timespec *" "const linux_sigset_t *" */
 #define	LINUX_SYS_epoll_pwait2	551
 
Index: src/sys/compat/linux/arch/alpha/linux_sysent.c
diff -u src/sys/compat/linux/arch/alpha/linux_sysent.c:1.119 src/sys/compat/linux/arch/alpha/linux_sysent.c:1.120
--- src/sys/compat/linux/arch/alpha/linux_sysent.c:1.119	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/alpha/linux_sysent.c	Sat Jun 29 09:46:32 2024
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.119 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.120 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.106 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.107 2024/06/29 13:46:09 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.119 2023/08/19 17:50:24 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.120 2024/06/29 13:46:32 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_sysv.h"
@@ -24,6 +24,7 @@ __KERNEL_RCSID(0, "$NetBSD: linux_sysent
 #include <compat/linux/common/linux_siginfo.h>
 #include <compat/linux/common/linux_ipc.h>
 #include <compat/linux/common/linux_msg.h>
+#include <compat/linux/common/linux_sched.h>
 #include <compat/linux/common/linux_sem.h>
 #include <compat/linux/common/linux_shm.h>
 #include <compat/linux/common/linux_mmap.h>
@@ -1899,8 +1900,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 472 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 473 = filler */
+		ns(struct linux_sys_getcpu_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_getcpu
+	},		/* 473 = getcpu */
 	{
 		ns(struct linux_sys_epoll_pwait_args),
 		.sy_flags = SYCALL_ARG_PTR,
@@ -2160,8 +2163,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 548 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 549 = filler */
+		ns(struct linux_sys_faccessat2_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_faccessat2
+	},		/* 549 = faccessat2 */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 550 = filler */

Index: src/sys/compat/linux/arch/alpha/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/alpha/linux_syscallargs.h:1.118 src/sys/compat/linux/arch/alpha/linux_syscallargs.h:1.119
--- src/sys/compat/linux/arch/alpha/linux_syscallargs.h:1.118	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/alpha/linux_syscallargs.h	Sat Jun 29 09:46:31 2024
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.118 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.119 2024/06/29 13:46:31 christos Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.106 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.107 2024/06/29 13:46:09 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -1175,6 +1175,13 @@ struct sys___futex_set_robust_list_args;
 
 struct sys___futex_get_robust_list_args;
 
+struct linux_sys_getcpu_args {
+	syscallarg(unsigned int *) cpu;
+	syscallarg(unsigned int *) node;
+	syscallarg(struct linux_getcpu_cache *) tcache;
+};
+check_syscall_args(linux_sys_getcpu)
+
 struct linux_sys_epoll_pwait_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1321,6 +1328,14 @@ struct linux_sys_close_range_args {
 };
 check_syscall_args(linux_sys_close_range)
 
+struct linux_sys_faccessat2_args {
+	syscallarg(int) fd;
+	syscallarg(const char *) path;
+	syscallarg(int) amode;
+	syscallarg(int) flags;
+};
+check_syscall_args(linux_sys_faccessat2)
+
 struct linux_sys_epoll_pwait2_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1820,6 +1835,8 @@ int	sys___futex_set_robust_list(struct l
 
 int	sys___futex_get_robust_list(struct lwp *, const struct sys___futex_get_robust_list_args *, register_t *);
 
+int	linux_sys_getcpu(struct lwp *, const struct linux_sys_getcpu_args *, register_t *);
+
 int	linux_sys_epoll_pwait(struct lwp *, const struct linux_sys_epoll_pwait_args *, register_t *);
 
 int	linux_sys_utimensat(struct lwp *, const struct linux_sys_utimensat_args *, register_t *);
@@ -1860,6 +1877,8 @@ int	linux_sys_statx(struct lwp *, const 
 
 int	linux_sys_close_range(struct lwp *, const struct linux_sys_close_range_args *, register_t *);
 
+int	linux_sys_faccessat2(struct lwp *, const struct linux_sys_faccessat2_args *, register_t *);
+
 int	linux_sys_epoll_pwait2(struct lwp *, const struct linux_sys_epoll_pwait2_args *, register_t *);
 
 #endif /* _LINUX_SYS_SYSCALLARGS_H_ */

Index: src/sys/compat/linux/arch/alpha/linux_syscalls.c
diff -u src/sys/compat/linux/arch/alpha/linux_syscalls.c:1.120 src/sys/compat/linux/arch/alpha/linux_syscalls.c:1.121
--- src/sys/compat/linux/arch/alpha/linux_syscalls.c:1.120	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/alpha/linux_syscalls.c	Sat Jun 29 09:46:32 2024
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.120 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.121 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.106 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.107 2024/06/29 13:46:09 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.120 2023/08/19 17:50:24 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.121 2024/06/29 13:46:32 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #if defined(_KERNEL_OPT)
@@ -25,6 +25,7 @@ __KERNEL_RCSID(0, "$NetBSD: linux_syscal
 #include <compat/linux/common/linux_siginfo.h>
 #include <compat/linux/common/linux_ipc.h>
 #include <compat/linux/common/linux_msg.h>
+#include <compat/linux/common/linux_sched.h>
 #include <compat/linux/common/linux_sem.h>
 #include <compat/linux/common/linux_shm.h>
 #include <compat/linux/common/linux_mmap.h>
@@ -532,7 +533,7 @@ const char *const linux_syscallnames[] =
 	/* 470 */	"#470 (unimplemented tee)",
 	/* 471 */	"#471 (unimplemented vmsplice)",
 	/* 472 */	"#472 (unimplemented move_pages)",
-	/* 473 */	"#473 (unimplemented getcpu)",
+	/* 473 */	"getcpu",
 	/* 474 */	"epoll_pwait",
 	/* 475 */	"utimensat",
 	/* 476 */	"#476 (unimplemented signalfd)",
@@ -608,7 +609,7 @@ const char *const linux_syscallnames[] =
 	/* 546 */	"close_range",
 	/* 547 */	"#547 (unimplemented)",
 	/* 548 */	"#548 (unimplemented)",
-	/* 549 */	"#549 (unimplemented)",
+	/* 549 */	"faccessat2",
 	/* 550 */	"#550 (unimplemented)",
 	/* 551 */	"epoll_pwait2",
 	/* 552 */	"# filler",
@@ -1585,7 +1586,7 @@ const char *const altlinux_syscallnames[
 	/* 470 */	NULL, /* unimplemented tee */
 	/* 471 */	NULL, /* unimplemented vmsplice */
 	/* 472 */	NULL, /* unimplemented move_pages */
-	/* 473 */	NULL, /* unimplemented getcpu */
+	/* 473 */	NULL, /* getcpu */
 	/* 474 */	NULL, /* epoll_pwait */
 	/* 475 */	NULL, /* utimensat */
 	/* 476 */	NULL, /* unimplemented signalfd */
@@ -1661,7 +1662,7 @@ const char *const altlinux_syscallnames[
 	/* 546 */	NULL, /* close_range */
 	/* 547 */	NULL, /* unimplemented */
 	/* 548 */	NULL, /* unimplemented */
-	/* 549 */	NULL, /* unimplemented */
+	/* 549 */	NULL, /* faccessat2 */
 	/* 550 */	NULL, /* unimplemented */
 	/* 551 */	NULL, /* epoll_pwait2 */
 	/* 552 */	NULL, /* filler */

Index: src/sys/compat/linux/arch/amd64/linux_syscall.h
diff -u src/sys/compat/linux/arch/amd64/linux_syscall.h:1.81 src/sys/compat/linux/arch/amd64/linux_syscall.h:1.82
--- src/sys/compat/linux/arch/amd64/linux_syscall.h:1.81	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/amd64/linux_syscall.h	Sat Jun 29 09:46:32 2024
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.81 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.82 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.72 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.73 2024/06/29 13:46:09 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -735,6 +735,9 @@
 /* syscall: "sendmmsg" ret: "int" args: "int" "struct linux_mmsghdr *" "unsigned int" "unsigned int" */
 #define	LINUX_SYS_sendmmsg	307
 
+/* syscall: "getcpu" ret: "int" args: "unsigned int *" "unsigned int *" "struct linux_getcpu_cache *" */
+#define	LINUX_SYS_getcpu	309
+
 /* syscall: "getrandom" ret: "ssize_t" args: "void *" "size_t" "unsigned int" */
 #define	LINUX_SYS_getrandom	318
 
@@ -747,6 +750,9 @@
 /* syscall: "close_range" ret: "int" args: "unsigned int" "unsigned int" "unsigned int" */
 #define	LINUX_SYS_close_range	436
 
+/* syscall: "faccessat2" ret: "int" args: "int" "const char *" "int" "int" */
+#define	LINUX_SYS_faccessat2	439
+
 /* syscall: "epoll_pwait2" ret: "int" args: "int" "struct linux_epoll_event *" "int" "const struct linux_timespec *" "const linux_sigset_t *" */
 #define	LINUX_SYS_epoll_pwait2	441
 
Index: src/sys/compat/linux/arch/amd64/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/amd64/linux_syscallargs.h:1.81 src/sys/compat/linux/arch/amd64/linux_syscallargs.h:1.82
--- src/sys/compat/linux/arch/amd64/linux_syscallargs.h:1.81	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/amd64/linux_syscallargs.h	Sat Jun 29 09:46:32 2024
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.81 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.82 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.72 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.73 2024/06/29 13:46:09 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -1195,6 +1195,13 @@ struct linux_sys_sendmmsg_args {
 };
 check_syscall_args(linux_sys_sendmmsg)
 
+struct linux_sys_getcpu_args {
+	syscallarg(unsigned int *) cpu;
+	syscallarg(unsigned int *) node;
+	syscallarg(struct linux_getcpu_cache *) tcache;
+};
+check_syscall_args(linux_sys_getcpu)
+
 struct sys_getrandom_args;
 
 struct linux_sys_memfd_create_args {
@@ -1219,6 +1226,14 @@ struct linux_sys_close_range_args {
 };
 check_syscall_args(linux_sys_close_range)
 
+struct linux_sys_faccessat2_args {
+	syscallarg(int) fd;
+	syscallarg(const char *) path;
+	syscallarg(int) amode;
+	syscallarg(int) flags;
+};
+check_syscall_args(linux_sys_faccessat2)
+
 struct linux_sys_epoll_pwait2_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1719,6 +1734,8 @@ int	linux_sys_prlimit64(struct lwp *, co
 
 int	linux_sys_sendmmsg(struct lwp *, const struct linux_sys_sendmmsg_args *, register_t *);
 
+int	linux_sys_getcpu(struct lwp *, const struct linux_sys_getcpu_args *, register_t *);
+
 int	sys_getrandom(struct lwp *, const struct sys_getrandom_args *, register_t *);
 
 int	linux_sys_memfd_create(struct lwp *, const struct linux_sys_memfd_create_args *, register_t *);
@@ -1727,6 +1744,8 @@ int	linux_sys_statx(struct lwp *, const 
 
 int	linux_sys_close_range(struct lwp *, const struct linux_sys_close_range_args *, register_t *);
 
+int	linux_sys_faccessat2(struct lwp *, const struct linux_sys_faccessat2_args *, register_t *);
+
 int	linux_sys_epoll_pwait2(struct lwp *, const struct linux_sys_epoll_pwait2_args *, register_t *);
 
 int	linux_sys_nosys(struct lwp *, const void *, register_t *);
Index: src/sys/compat/linux/arch/amd64/linux_syscalls.c
diff -u src/sys/compat/linux/arch/amd64/linux_syscalls.c:1.81 src/sys/compat/linux/arch/amd64/linux_syscalls.c:1.82
--- src/sys/compat/linux/arch/amd64/linux_syscalls.c:1.81	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/amd64/linux_syscalls.c	Sat Jun 29 09:46:32 2024
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.81 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.82 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.72 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.73 2024/06/29 13:46:09 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.81 2023/08/19 17:50:24 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.82 2024/06/29 13:46:32 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #if defined(_KERNEL_OPT)
@@ -29,6 +29,7 @@ __KERNEL_RCSID(0, "$NetBSD: linux_syscal
 #include <compat/linux/common/linux_mmap.h>
 #include <compat/linux/common/linux_ipc.h>
 #include <compat/linux/common/linux_msg.h>
+#include <compat/linux/common/linux_sched.h>
 #include <compat/linux/common/linux_sem.h>
 #include <compat/linux/common/linux_shm.h>
 #include <compat/linux/common/linux_signal.h>
@@ -376,7 +377,7 @@ const char *const linux_syscallnames[] =
 	/* 306 */	"#306 (unimplemented syncfs)",
 	/* 307 */	"sendmmsg",
 	/* 308 */	"#308 (unimplemented setns)",
-	/* 309 */	"#309 (unimplemented getcpu)",
+	/* 309 */	"getcpu",
 	/* 310 */	"#310 (unimplemented process_vm_readv)",
 	/* 311 */	"#311 (unimplemented process_vm_writev)",
 	/* 312 */	"#312 (unimplemented kcmp)",
@@ -506,7 +507,7 @@ const char *const linux_syscallnames[] =
 	/* 436 */	"close_range",
 	/* 437 */	"#437 (unimplemented openat2)",
 	/* 438 */	"#438 (unimplemented pidfd_getfd)",
-	/* 439 */	"#439 (unimplemented faccessat2)",
+	/* 439 */	"faccessat2",
 	/* 440 */	"#440 (unimplemented process_madvise)",
 	/* 441 */	"epoll_pwait2",
 	/* 442 */	"#442 (unimplemented mount_setattr)",
@@ -920,7 +921,7 @@ const char *const altlinux_syscallnames[
 	/* 306 */	NULL, /* unimplemented syncfs */
 	/* 307 */	NULL, /* sendmmsg */
 	/* 308 */	NULL, /* unimplemented setns */
-	/* 309 */	NULL, /* unimplemented getcpu */
+	/* 309 */	NULL, /* getcpu */
 	/* 310 */	NULL, /* unimplemented process_vm_readv */
 	/* 311 */	NULL, /* unimplemented process_vm_writev */
 	/* 312 */	NULL, /* unimplemented kcmp */
@@ -1050,7 +1051,7 @@ const char *const altlinux_syscallnames[
 	/* 436 */	NULL, /* close_range */
 	/* 437 */	NULL, /* unimplemented openat2 */
 	/* 438 */	NULL, /* unimplemented pidfd_getfd */
-	/* 439 */	NULL, /* unimplemented faccessat2 */
+	/* 439 */	NULL, /* faccessat2 */
 	/* 440 */	NULL, /* unimplemented process_madvise */
 	/* 441 */	NULL, /* epoll_pwait2 */
 	/* 442 */	NULL, /* unimplemented mount_setattr */
Index: src/sys/compat/linux/arch/amd64/linux_sysent.c
diff -u src/sys/compat/linux/arch/amd64/linux_sysent.c:1.81 src/sys/compat/linux/arch/amd64/linux_sysent.c:1.82
--- src/sys/compat/linux/arch/amd64/linux_sysent.c:1.81	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/amd64/linux_sysent.c	Sat Jun 29 09:46:32 2024
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.81 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.82 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.72 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.73 2024/06/29 13:46:09 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.81 2023/08/19 17:50:24 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.82 2024/06/29 13:46:32 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_sysv.h"
@@ -28,6 +28,7 @@ __KERNEL_RCSID(0, "$NetBSD: linux_sysent
 #include <compat/linux/common/linux_mmap.h>
 #include <compat/linux/common/linux_ipc.h>
 #include <compat/linux/common/linux_msg.h>
+#include <compat/linux/common/linux_sched.h>
 #include <compat/linux/common/linux_sem.h>
 #include <compat/linux/common/linux_shm.h>
 #include <compat/linux/common/linux_signal.h>
@@ -1400,8 +1401,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 308 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 309 = filler */
+		ns(struct linux_sys_getcpu_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_getcpu
+	},		/* 309 = getcpu */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 310 = filler */
@@ -1797,8 +1800,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 438 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 439 = filler */
+		ns(struct linux_sys_faccessat2_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_faccessat2
+	},		/* 439 = faccessat2 */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 440 = filler */

Index: src/sys/compat/linux/arch/amd64/linux_systrace_args.c
diff -u src/sys/compat/linux/arch/amd64/linux_systrace_args.c:1.25 src/sys/compat/linux/arch/amd64/linux_systrace_args.c:1.26
--- src/sys/compat/linux/arch/amd64/linux_systrace_args.c:1.25	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/amd64/linux_systrace_args.c	Sat Jun 29 09:46:32 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_systrace_args.c,v 1.25 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_systrace_args.c,v 1.26 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call argument to DTrace register array conversion.
@@ -2009,6 +2009,15 @@ systrace_args(register_t sysnum, const v
 		*n_args = 4;
 		break;
 	}
+	/* linux_sys_getcpu */
+	case 309: {
+		const struct linux_sys_getcpu_args *p = params;
+		uarg[0] = (intptr_t) SCARG(p, cpu); /* unsigned int * */
+		uarg[1] = (intptr_t) SCARG(p, node); /* unsigned int * */
+		uarg[2] = (intptr_t) SCARG(p, tcache); /* struct linux_getcpu_cache * */
+		*n_args = 3;
+		break;
+	}
 	/* sys_getrandom */
 	case 318: {
 		const struct sys_getrandom_args *p = params;
@@ -2046,6 +2055,16 @@ systrace_args(register_t sysnum, const v
 		*n_args = 3;
 		break;
 	}
+	/* linux_sys_faccessat2 */
+	case 439: {
+		const struct linux_sys_faccessat2_args *p = params;
+		iarg[0] = SCARG(p, fd); /* int */
+		uarg[1] = (intptr_t) SCARG(p, path); /* const char * */
+		iarg[2] = SCARG(p, amode); /* int */
+		iarg[3] = SCARG(p, flags); /* int */
+		*n_args = 4;
+		break;
+	}
 	/* linux_sys_epoll_pwait2 */
 	case 441: {
 		const struct linux_sys_epoll_pwait2_args *p = params;
@@ -5420,6 +5439,22 @@ systrace_entry_setargdesc(int sysnum, in
 			break;
 		};
 		break;
+	/* linux_sys_getcpu */
+	case 309:
+		switch(ndx) {
+		case 0:
+			p = "unsigned int *";
+			break;
+		case 1:
+			p = "unsigned int *";
+			break;
+		case 2:
+			p = "struct linux_getcpu_cache *";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* sys_getrandom */
 	case 318:
 		switch(ndx) {
@@ -5487,6 +5522,25 @@ systrace_entry_setargdesc(int sysnum, in
 			break;
 		};
 		break;
+	/* linux_sys_faccessat2 */
+	case 439:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "const char *";
+			break;
+		case 2:
+			p = "int";
+			break;
+		case 3:
+			p = "int";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* linux_sys_epoll_pwait2 */
 	case 441:
 		switch(ndx) {
@@ -6667,6 +6721,11 @@ systrace_return_setargdesc(int sysnum, i
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* linux_sys_getcpu */
+	case 309:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* sys_getrandom */
 	case 318:
 		if (ndx == 0 || ndx == 1)
@@ -6687,6 +6746,11 @@ systrace_return_setargdesc(int sysnum, i
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* linux_sys_faccessat2 */
+	case 439:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_sys_epoll_pwait2 */
 	case 441:
 		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.92 src/sys/compat/linux/arch/arm/linux_syscall.h:1.93
--- src/sys/compat/linux/arch/arm/linux_syscall.h:1.92	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/arm/linux_syscall.h	Sat Jun 29 09:46:32 2024
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.92 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.93 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.79 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.80 2024/06/29 13:46:09 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -739,6 +739,9 @@
 /* syscall: "__futex_get_robust_list" ret: "int" args: "lwpid_t" "void **" "size_t *" */
 #define	LINUX_SYS___futex_get_robust_list	339
 
+/* syscall: "getcpu" ret: "int" args: "unsigned int *" "unsigned int *" "struct linux_getcpu_cache *" */
+#define	LINUX_SYS_getcpu	345
+
 /* syscall: "epoll_pwait" ret: "int" args: "int" "struct linux_epoll_event *" "int" "int" "const linux_sigset_t *" */
 #define	LINUX_SYS_epoll_pwait	346
 
@@ -808,6 +811,9 @@
 /* syscall: "close_range" ret: "int" args: "unsigned int" "unsigned int" "unsigned int" */
 #define	LINUX_SYS_close_range	436
 
+/* syscall: "faccessat2" ret: "int" args: "int" "const char *" "int" "int" */
+#define	LINUX_SYS_faccessat2	439
+
 /* syscall: "epoll_pwait2" ret: "int" args: "int" "struct linux_epoll_event *" "int" "const struct linux_timespec *" "const linux_sigset_t *" */
 #define	LINUX_SYS_epoll_pwait2	441
 
Index: src/sys/compat/linux/arch/arm/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/arm/linux_syscallargs.h:1.92 src/sys/compat/linux/arch/arm/linux_syscallargs.h:1.93
--- src/sys/compat/linux/arch/arm/linux_syscallargs.h:1.92	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/arm/linux_syscallargs.h	Sat Jun 29 09:46:32 2024
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.92 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.93 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.79 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.80 2024/06/29 13:46:09 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -1139,6 +1139,13 @@ struct sys___futex_set_robust_list_args;
 
 struct sys___futex_get_robust_list_args;
 
+struct linux_sys_getcpu_args {
+	syscallarg(unsigned int *) cpu;
+	syscallarg(unsigned int *) node;
+	syscallarg(struct linux_getcpu_cache *) tcache;
+};
+check_syscall_args(linux_sys_getcpu)
+
 struct linux_sys_epoll_pwait_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1297,6 +1304,14 @@ struct linux_sys_close_range_args {
 };
 check_syscall_args(linux_sys_close_range)
 
+struct linux_sys_faccessat2_args {
+	syscallarg(int) fd;
+	syscallarg(const char *) path;
+	syscallarg(int) amode;
+	syscallarg(int) flags;
+};
+check_syscall_args(linux_sys_faccessat2)
+
 struct linux_sys_epoll_pwait2_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1772,6 +1787,8 @@ int	sys___futex_set_robust_list(struct l
 
 int	sys___futex_get_robust_list(struct lwp *, const struct sys___futex_get_robust_list_args *, register_t *);
 
+int	linux_sys_getcpu(struct lwp *, const struct linux_sys_getcpu_args *, register_t *);
+
 int	linux_sys_epoll_pwait(struct lwp *, const struct linux_sys_epoll_pwait_args *, register_t *);
 
 int	linux_sys_utimensat(struct lwp *, const struct linux_sys_utimensat_args *, register_t *);
@@ -1818,6 +1835,8 @@ int	linux_sys_statx(struct lwp *, const 
 
 int	linux_sys_close_range(struct lwp *, const struct linux_sys_close_range_args *, register_t *);
 
+int	linux_sys_faccessat2(struct lwp *, const struct linux_sys_faccessat2_args *, register_t *);
+
 int	linux_sys_epoll_pwait2(struct lwp *, const struct linux_sys_epoll_pwait2_args *, register_t *);
 
 #endif /* _LINUX_SYS_SYSCALLARGS_H_ */
Index: src/sys/compat/linux/arch/arm/linux_syscalls.c
diff -u src/sys/compat/linux/arch/arm/linux_syscalls.c:1.92 src/sys/compat/linux/arch/arm/linux_syscalls.c:1.93
--- src/sys/compat/linux/arch/arm/linux_syscalls.c:1.92	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/arm/linux_syscalls.c	Sat Jun 29 09:46:32 2024
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.92 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.93 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.79 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.80 2024/06/29 13:46:09 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.92 2023/08/19 17:50:24 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.93 2024/06/29 13:46:32 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include <sys/param.h>
@@ -24,6 +24,7 @@ __KERNEL_RCSID(0, "$NetBSD: linux_syscal
 #include <compat/linux/common/linux_signal.h>
 #include <compat/linux/common/linux_siginfo.h>
 #include <compat/linux/common/linux_machdep.h>
+#include <compat/linux/common/linux_sched.h>
 #include <compat/linux/linux_syscallargs.h>
 #else /* _KERNEL_OPT */
 #include <sys/null.h>
@@ -380,7 +381,7 @@ const char *const linux_syscallnames[] =
 	/* 342 */	"#342 (unimplemented tee)",
 	/* 343 */	"#343 (unimplemented vmsplice)",
 	/* 344 */	"#344 (unimplemented move_pages)",
-	/* 345 */	"#345 (unimplemented getcpu)",
+	/* 345 */	"getcpu",
 	/* 346 */	"epoll_pwait",
 	/* 347 */	"#347 (unimplemented kexec_load)",
 	/* 348 */	"utimensat",
@@ -474,7 +475,7 @@ const char *const linux_syscallnames[] =
 	/* 436 */	"close_range",
 	/* 437 */	"#437 (unimplemented)",
 	/* 438 */	"#438 (unimplemented)",
-	/* 439 */	"#439 (unimplemented)",
+	/* 439 */	"faccessat2",
 	/* 440 */	"#440 (unimplemented)",
 	/* 441 */	"epoll_pwait2",
 	/* 442 */	"# filler",
@@ -902,7 +903,7 @@ const char *const altlinux_syscallnames[
 	/* 342 */	NULL, /* unimplemented tee */
 	/* 343 */	NULL, /* unimplemented vmsplice */
 	/* 344 */	NULL, /* unimplemented move_pages */
-	/* 345 */	NULL, /* unimplemented getcpu */
+	/* 345 */	NULL, /* getcpu */
 	/* 346 */	NULL, /* epoll_pwait */
 	/* 347 */	NULL, /* unimplemented kexec_load */
 	/* 348 */	NULL, /* utimensat */
@@ -996,7 +997,7 @@ const char *const altlinux_syscallnames[
 	/* 436 */	NULL, /* close_range */
 	/* 437 */	NULL, /* unimplemented */
 	/* 438 */	NULL, /* unimplemented */
-	/* 439 */	NULL, /* unimplemented */
+	/* 439 */	NULL, /* faccessat2 */
 	/* 440 */	NULL, /* unimplemented */
 	/* 441 */	NULL, /* epoll_pwait2 */
 	/* 442 */	NULL, /* filler */
Index: src/sys/compat/linux/arch/arm/linux_sysent.c
diff -u src/sys/compat/linux/arch/arm/linux_sysent.c:1.92 src/sys/compat/linux/arch/arm/linux_sysent.c:1.93
--- src/sys/compat/linux/arch/arm/linux_sysent.c:1.92	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/arm/linux_sysent.c	Sat Jun 29 09:46:32 2024
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.92 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.93 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.79 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.80 2024/06/29 13:46:09 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.92 2023/08/19 17:50:24 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.93 2024/06/29 13:46:32 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/poll.h>
@@ -23,6 +23,7 @@ __KERNEL_RCSID(0, "$NetBSD: linux_sysent
 #include <compat/linux/common/linux_signal.h>
 #include <compat/linux/common/linux_siginfo.h>
 #include <compat/linux/common/linux_machdep.h>
+#include <compat/linux/common/linux_sched.h>
 #include <compat/linux/linux_syscallargs.h>
 
 #define	s(type)	sizeof(type)
@@ -1449,8 +1450,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 344 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 345 = filler */
+		ns(struct linux_sys_getcpu_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_getcpu
+	},		/* 345 = getcpu */
 	{
 		ns(struct linux_sys_epoll_pwait_args),
 		.sy_flags = SYCALL_ARG_PTR,
@@ -1767,8 +1770,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 438 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 439 = filler */
+		ns(struct linux_sys_faccessat2_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_faccessat2
+	},		/* 439 = faccessat2 */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 440 = filler */

Index: src/sys/compat/linux/arch/arm/linux_systrace_args.c
diff -u src/sys/compat/linux/arch/arm/linux_systrace_args.c:1.25 src/sys/compat/linux/arch/arm/linux_systrace_args.c:1.26
--- src/sys/compat/linux/arch/arm/linux_systrace_args.c:1.25	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/arm/linux_systrace_args.c	Sat Jun 29 09:46:32 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_systrace_args.c,v 1.25 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_systrace_args.c,v 1.26 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call argument to DTrace register array conversion.
@@ -1942,6 +1942,15 @@ systrace_args(register_t sysnum, const v
 		*n_args = 3;
 		break;
 	}
+	/* linux_sys_getcpu */
+	case 345: {
+		const struct linux_sys_getcpu_args *p = params;
+		uarg[0] = (intptr_t) SCARG(p, cpu); /* unsigned int * */
+		uarg[1] = (intptr_t) SCARG(p, node); /* unsigned int * */
+		uarg[2] = (intptr_t) SCARG(p, tcache); /* struct linux_getcpu_cache * */
+		*n_args = 3;
+		break;
+	}
 	/* linux_sys_epoll_pwait */
 	case 346: {
 		const struct linux_sys_epoll_pwait_args *p = params;
@@ -2149,6 +2158,16 @@ systrace_args(register_t sysnum, const v
 		*n_args = 3;
 		break;
 	}
+	/* linux_sys_faccessat2 */
+	case 439: {
+		const struct linux_sys_faccessat2_args *p = params;
+		iarg[0] = SCARG(p, fd); /* int */
+		uarg[1] = (intptr_t) SCARG(p, path); /* const char * */
+		iarg[2] = SCARG(p, amode); /* int */
+		iarg[3] = SCARG(p, flags); /* int */
+		*n_args = 4;
+		break;
+	}
 	/* linux_sys_epoll_pwait2 */
 	case 441: {
 		const struct linux_sys_epoll_pwait2_args *p = params;
@@ -5323,6 +5342,22 @@ systrace_entry_setargdesc(int sysnum, in
 			break;
 		};
 		break;
+	/* linux_sys_getcpu */
+	case 345:
+		switch(ndx) {
+		case 0:
+			p = "unsigned int *";
+			break;
+		case 1:
+			p = "unsigned int *";
+			break;
+		case 2:
+			p = "struct linux_getcpu_cache *";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* linux_sys_epoll_pwait */
 	case 346:
 		switch(ndx) {
@@ -5690,6 +5725,25 @@ systrace_entry_setargdesc(int sysnum, in
 			break;
 		};
 		break;
+	/* linux_sys_faccessat2 */
+	case 439:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "const char *";
+			break;
+		case 2:
+			p = "int";
+			break;
+		case 3:
+			p = "int";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* linux_sys_epoll_pwait2 */
 	case 441:
 		switch(ndx) {
@@ -6846,6 +6900,11 @@ systrace_return_setargdesc(int sysnum, i
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* linux_sys_getcpu */
+	case 345:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_sys_epoll_pwait */
 	case 346:
 		if (ndx == 0 || ndx == 1)
@@ -6958,6 +7017,11 @@ systrace_return_setargdesc(int sysnum, i
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* linux_sys_faccessat2 */
+	case 439:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_sys_epoll_pwait2 */
 	case 441:
 		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.126 src/sys/compat/linux/arch/i386/linux_syscall.h:1.127
--- src/sys/compat/linux/arch/i386/linux_syscall.h:1.126	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/i386/linux_syscall.h	Sat Jun 29 09:46:32 2024
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.126 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.127 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.134 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.135 2024/06/29 13:46:09 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -761,6 +761,9 @@
 /* syscall: "__futex_get_robust_list" ret: "int" args: "lwpid_t" "void **" "size_t *" */
 #define	LINUX_SYS___futex_get_robust_list	312
 
+/* syscall: "getcpu" ret: "int" args: "unsigned int *" "unsigned int *" "struct linux_getcpu_cache *" */
+#define	LINUX_SYS_getcpu	318
+
 /* syscall: "epoll_pwait" ret: "int" args: "int" "struct linux_epoll_event *" "int" "int" "const linux_sigset_t *" */
 #define	LINUX_SYS_epoll_pwait	319
 
@@ -818,6 +821,9 @@
 /* syscall: "close_range" ret: "int" args: "unsigned int" "unsigned int" "unsigned int" */
 #define	LINUX_SYS_close_range	436
 
+/* syscall: "faccessat2" ret: "int" args: "int" "const char *" "int" "int" */
+#define	LINUX_SYS_faccessat2	439
+
 /* syscall: "epoll_pwait2" ret: "int" args: "int" "struct linux_epoll_event *" "int" "const struct linux_timespec *" "const linux_sigset_t *" */
 #define	LINUX_SYS_epoll_pwait2	441
 
Index: src/sys/compat/linux/arch/i386/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/i386/linux_syscallargs.h:1.126 src/sys/compat/linux/arch/i386/linux_syscallargs.h:1.127
--- src/sys/compat/linux/arch/i386/linux_syscallargs.h:1.126	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/i386/linux_syscallargs.h	Sat Jun 29 09:46:32 2024
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.126 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.127 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.134 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.135 2024/06/29 13:46:09 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -1186,6 +1186,13 @@ struct sys___futex_set_robust_list_args;
 
 struct sys___futex_get_robust_list_args;
 
+struct linux_sys_getcpu_args {
+	syscallarg(unsigned int *) cpu;
+	syscallarg(unsigned int *) node;
+	syscallarg(struct linux_getcpu_cache *) tcache;
+};
+check_syscall_args(linux_sys_getcpu)
+
 struct linux_sys_epoll_pwait_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1315,6 +1322,14 @@ struct linux_sys_close_range_args {
 };
 check_syscall_args(linux_sys_close_range)
 
+struct linux_sys_faccessat2_args {
+	syscallarg(int) fd;
+	syscallarg(const char *) path;
+	syscallarg(int) amode;
+	syscallarg(int) flags;
+};
+check_syscall_args(linux_sys_faccessat2)
+
 struct linux_sys_epoll_pwait2_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1806,6 +1821,8 @@ int	sys___futex_set_robust_list(struct l
 
 int	sys___futex_get_robust_list(struct lwp *, const struct sys___futex_get_robust_list_args *, register_t *);
 
+int	linux_sys_getcpu(struct lwp *, const struct linux_sys_getcpu_args *, register_t *);
+
 int	linux_sys_epoll_pwait(struct lwp *, const struct linux_sys_epoll_pwait_args *, register_t *);
 
 int	linux_sys_utimensat(struct lwp *, const struct linux_sys_utimensat_args *, register_t *);
@@ -1844,6 +1861,8 @@ int	linux_sys_statx(struct lwp *, const 
 
 int	linux_sys_close_range(struct lwp *, const struct linux_sys_close_range_args *, register_t *);
 
+int	linux_sys_faccessat2(struct lwp *, const struct linux_sys_faccessat2_args *, register_t *);
+
 int	linux_sys_epoll_pwait2(struct lwp *, const struct linux_sys_epoll_pwait2_args *, register_t *);
 
 #endif /* _LINUX_SYS_SYSCALLARGS_H_ */
Index: src/sys/compat/linux/arch/i386/linux_sysent.c
diff -u src/sys/compat/linux/arch/i386/linux_sysent.c:1.126 src/sys/compat/linux/arch/i386/linux_sysent.c:1.127
--- src/sys/compat/linux/arch/i386/linux_sysent.c:1.126	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/i386/linux_sysent.c	Sat Jun 29 09:46:32 2024
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.126 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.127 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.134 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.135 2024/06/29 13:46:09 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.126 2023/08/19 17:50:24 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.127 2024/06/29 13:46:32 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/poll.h>
@@ -22,6 +22,7 @@ __KERNEL_RCSID(0, "$NetBSD: linux_sysent
 #include <compat/linux/common/linux_signal.h>
 #include <compat/linux/common/linux_siginfo.h>
 #include <compat/linux/common/linux_machdep.h>
+#include <compat/linux/common/linux_sched.h>
 #include <compat/linux/linux_syscallargs.h>
 
 #define	s(type)	sizeof(type)
@@ -1381,8 +1382,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 317 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 318 = filler */
+		ns(struct linux_sys_getcpu_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_getcpu
+	},		/* 318 = getcpu */
 	{
 		ns(struct linux_sys_epoll_pwait_args),
 		.sy_flags = SYCALL_ARG_PTR,
@@ -1775,8 +1778,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 438 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 439 = filler */
+		ns(struct linux_sys_faccessat2_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_faccessat2
+	},		/* 439 = faccessat2 */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 440 = filler */

Index: src/sys/compat/linux/arch/i386/linux_syscalls.c
diff -u src/sys/compat/linux/arch/i386/linux_syscalls.c:1.127 src/sys/compat/linux/arch/i386/linux_syscalls.c:1.128
--- src/sys/compat/linux/arch/i386/linux_syscalls.c:1.127	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/i386/linux_syscalls.c	Sat Jun 29 09:46:32 2024
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.127 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.128 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.134 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.135 2024/06/29 13:46:09 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.127 2023/08/19 17:50:24 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.128 2024/06/29 13:46:32 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include <sys/param.h>
@@ -23,6 +23,7 @@ __KERNEL_RCSID(0, "$NetBSD: linux_syscal
 #include <compat/linux/common/linux_signal.h>
 #include <compat/linux/common/linux_siginfo.h>
 #include <compat/linux/common/linux_machdep.h>
+#include <compat/linux/common/linux_sched.h>
 #include <compat/linux/linux_syscallargs.h>
 #else /* _KERNEL_OPT */
 #include <sys/null.h>
@@ -352,7 +353,7 @@ const char *const linux_syscallnames[] =
 	/* 315 */	"#315 (unimplemented tee)",
 	/* 316 */	"#316 (unimplemented vmsplice)",
 	/* 317 */	"#317 (unimplemented move_pages)",
-	/* 318 */	"#318 (unimplemented getcpu)",
+	/* 318 */	"getcpu",
 	/* 319 */	"epoll_pwait",
 	/* 320 */	"utimensat",
 	/* 321 */	"#321 (unimplemented signalfd)",
@@ -473,7 +474,7 @@ const char *const linux_syscallnames[] =
 	/* 436 */	"close_range",
 	/* 437 */	"#437 (unimplemented openat2)",
 	/* 438 */	"#438 (unimplemented pidfd_getfd)",
-	/* 439 */	"#439 (unimplemented faccessat2)",
+	/* 439 */	"faccessat2",
 	/* 440 */	"#440 (unimplemented process_madvise)",
 	/* 441 */	"epoll_pwait2",
 	/* 442 */	"# filler",
@@ -874,7 +875,7 @@ const char *const altlinux_syscallnames[
 	/* 315 */	NULL, /* unimplemented tee */
 	/* 316 */	NULL, /* unimplemented vmsplice */
 	/* 317 */	NULL, /* unimplemented move_pages */
-	/* 318 */	NULL, /* unimplemented getcpu */
+	/* 318 */	NULL, /* getcpu */
 	/* 319 */	NULL, /* epoll_pwait */
 	/* 320 */	NULL, /* utimensat */
 	/* 321 */	NULL, /* unimplemented signalfd */
@@ -995,7 +996,7 @@ const char *const altlinux_syscallnames[
 	/* 436 */	NULL, /* close_range */
 	/* 437 */	NULL, /* unimplemented openat2 */
 	/* 438 */	NULL, /* unimplemented pidfd_getfd */
-	/* 439 */	NULL, /* unimplemented faccessat2 */
+	/* 439 */	NULL, /* faccessat2 */
 	/* 440 */	NULL, /* unimplemented process_madvise */
 	/* 441 */	NULL, /* epoll_pwait2 */
 	/* 442 */	NULL, /* filler */

Index: src/sys/compat/linux/arch/i386/linux_systrace_args.c
diff -u src/sys/compat/linux/arch/i386/linux_systrace_args.c:1.21 src/sys/compat/linux/arch/i386/linux_systrace_args.c:1.22
--- src/sys/compat/linux/arch/i386/linux_systrace_args.c:1.21	Sat Aug 19 13:50:24 2023
+++ src/sys/compat/linux/arch/i386/linux_systrace_args.c	Sat Jun 29 09:46:32 2024
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_systrace_args.c,v 1.21 2023/08/19 17:50:24 christos Exp $ */
+/* $NetBSD: linux_systrace_args.c,v 1.22 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call argument to DTrace register array conversion.
@@ -2005,6 +2005,15 @@ systrace_args(register_t sysnum, const v
 		*n_args = 3;
 		break;
 	}
+	/* linux_sys_getcpu */
+	case 318: {
+		const struct linux_sys_getcpu_args *p = params;
+		uarg[0] = (intptr_t) SCARG(p, cpu); /* unsigned int * */
+		uarg[1] = (intptr_t) SCARG(p, node); /* unsigned int * */
+		uarg[2] = (intptr_t) SCARG(p, tcache); /* struct linux_getcpu_cache * */
+		*n_args = 3;
+		break;
+	}
 	/* linux_sys_epoll_pwait */
 	case 319: {
 		const struct linux_sys_epoll_pwait_args *p = params;
@@ -2177,6 +2186,16 @@ systrace_args(register_t sysnum, const v
 		*n_args = 3;
 		break;
 	}
+	/* linux_sys_faccessat2 */
+	case 439: {
+		const struct linux_sys_faccessat2_args *p = params;
+		iarg[0] = SCARG(p, fd); /* int */
+		uarg[1] = (intptr_t) SCARG(p, path); /* const char * */
+		iarg[2] = SCARG(p, amode); /* int */
+		iarg[3] = SCARG(p, flags); /* int */
+		*n_args = 4;
+		break;
+	}
 	/* linux_sys_epoll_pwait2 */
 	case 441: {
 		const struct linux_sys_epoll_pwait2_args *p = params;
@@ -5452,6 +5471,22 @@ systrace_entry_setargdesc(int sysnum, in
 			break;
 		};
 		break;
+	/* linux_sys_getcpu */
+	case 318:
+		switch(ndx) {
+		case 0:
+			p = "unsigned int *";
+			break;
+		case 1:
+			p = "unsigned int *";
+			break;
+		case 2:
+			p = "struct linux_getcpu_cache *";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* linux_sys_epoll_pwait */
 	case 319:
 		switch(ndx) {
@@ -5759,6 +5794,25 @@ systrace_entry_setargdesc(int sysnum, in
 			break;
 		};
 		break;
+	/* linux_sys_faccessat2 */
+	case 439:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "const char *";
+			break;
+		case 2:
+			p = "int";
+			break;
+		case 3:
+			p = "int";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* linux_sys_epoll_pwait2 */
 	case 441:
 		switch(ndx) {
@@ -6955,6 +7009,11 @@ systrace_return_setargdesc(int sysnum, i
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* linux_sys_getcpu */
+	case 318:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_sys_epoll_pwait */
 	case 319:
 		if (ndx == 0 || ndx == 1)
@@ -7050,6 +7109,11 @@ systrace_return_setargdesc(int sysnum, i
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* linux_sys_faccessat2 */
+	case 439:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	/* linux_sys_epoll_pwait2 */
 	case 441:
 		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.117 src/sys/compat/linux/arch/m68k/linux_syscall.h:1.118
--- src/sys/compat/linux/arch/m68k/linux_syscall.h:1.117	Sat Aug 19 13:50:25 2023
+++ src/sys/compat/linux/arch/m68k/linux_syscall.h	Sat Jun 29 09:46:32 2024
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.117 2023/08/19 17:50:25 christos Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.118 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.104 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.105 2024/06/29 13:46:10 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -747,6 +747,9 @@
 /* syscall: "sched_getaffinity" ret: "int" args: "pid_t" "unsigned int" "unsigned long *" */
 #define	LINUX_SYS_sched_getaffinity	312
 
+/* syscall: "getcpu" ret: "int" args: "unsigned int *" "unsigned int *" "struct linux_getcpu_cache *" */
+#define	LINUX_SYS_getcpu	314
+
 /* syscall: "epoll_pwait" ret: "int" args: "int" "struct linux_epoll_event *" "int" "int" "const linux_sigset_t *" */
 #define	LINUX_SYS_epoll_pwait	315
 
@@ -810,6 +813,9 @@
 /* syscall: "close_range" ret: "int" args: "unsigned int" "unsigned int" "unsigned int" */
 #define	LINUX_SYS_close_range	436
 
+/* syscall: "faccessat2" ret: "int" args: "int" "const char *" "int" "int" */
+#define	LINUX_SYS_faccessat2	439
+
 /* syscall: "epoll_pwait2" ret: "int" args: "int" "struct linux_epoll_event *" "int" "const struct linux_timespec *" "const linux_sigset_t *" */
 #define	LINUX_SYS_epoll_pwait2	441
 
Index: src/sys/compat/linux/arch/m68k/linux_syscalls.c
diff -u src/sys/compat/linux/arch/m68k/linux_syscalls.c:1.117 src/sys/compat/linux/arch/m68k/linux_syscalls.c:1.118
--- src/sys/compat/linux/arch/m68k/linux_syscalls.c:1.117	Sat Aug 19 13:50:25 2023
+++ src/sys/compat/linux/arch/m68k/linux_syscalls.c	Sat Jun 29 09:46:32 2024
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.117 2023/08/19 17:50:25 christos Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.118 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.104 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.105 2024/06/29 13:46:10 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.117 2023/08/19 17:50:25 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.118 2024/06/29 13:46:32 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #if defined(_KERNEL_OPT)
@@ -27,6 +27,7 @@ __KERNEL_RCSID(0, "$NetBSD: linux_syscal
 #include <compat/linux/common/linux_siginfo.h>
 #include <compat/linux/common/linux_machdep.h>
 #include <compat/linux/common/linux_mmap.h>
+#include <compat/linux/common/linux_sched.h>
 #include <compat/linux/linux_syscallargs.h>
 #else /* _KERNEL_OPT */
 #include <sys/null.h>
@@ -368,7 +369,7 @@ const char *const linux_syscallnames[] =
 	/* 311 */	"sched_setaffinity",
 	/* 312 */	"sched_getaffinity",
 	/* 313 */	"#313 (unimplemented kexec_load)",
-	/* 314 */	"#314 (unimplemented getcpu)",
+	/* 314 */	"getcpu",
 	/* 315 */	"epoll_pwait",
 	/* 316 */	"utimensat",
 	/* 317 */	"#317 (unimplemented signalfd)",
@@ -493,7 +494,7 @@ const char *const linux_syscallnames[] =
 	/* 436 */	"close_range",
 	/* 437 */	"#437 (unimplemented)",
 	/* 438 */	"#438 (unimplemented)",
-	/* 439 */	"#439 (unimplemented)",
+	/* 439 */	"faccessat2",
 	/* 440 */	"#440 (unimplemented)",
 	/* 441 */	"epoll_pwait2",
 	/* 442 */	"# filler",
@@ -906,7 +907,7 @@ const char *const altlinux_syscallnames[
 	/* 311 */	NULL, /* sched_setaffinity */
 	/* 312 */	NULL, /* sched_getaffinity */
 	/* 313 */	NULL, /* unimplemented kexec_load */
-	/* 314 */	NULL, /* unimplemented getcpu */
+	/* 314 */	NULL, /* getcpu */
 	/* 315 */	NULL, /* epoll_pwait */
 	/* 316 */	NULL, /* utimensat */
 	/* 317 */	NULL, /* unimplemented signalfd */
@@ -1031,7 +1032,7 @@ const char *const altlinux_syscallnames[
 	/* 436 */	NULL, /* close_range */
 	/* 437 */	NULL, /* unimplemented */
 	/* 438 */	NULL, /* unimplemented */
-	/* 439 */	NULL, /* unimplemented */
+	/* 439 */	NULL, /* faccessat2 */
 	/* 440 */	NULL, /* unimplemented */
 	/* 441 */	NULL, /* epoll_pwait2 */
 	/* 442 */	NULL, /* filler */
Index: src/sys/compat/linux/arch/m68k/linux_sysent.c
diff -u src/sys/compat/linux/arch/m68k/linux_sysent.c:1.117 src/sys/compat/linux/arch/m68k/linux_sysent.c:1.118
--- src/sys/compat/linux/arch/m68k/linux_sysent.c:1.117	Sat Aug 19 13:50:25 2023
+++ src/sys/compat/linux/arch/m68k/linux_sysent.c	Sat Jun 29 09:46:32 2024
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.117 2023/08/19 17:50:25 christos Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.118 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.104 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.105 2024/06/29 13:46:10 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.117 2023/08/19 17:50:25 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.118 2024/06/29 13:46:32 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include "opt_compat_netbsd.h"
@@ -26,6 +26,7 @@ __KERNEL_RCSID(0, "$NetBSD: linux_sysent
 #include <compat/linux/common/linux_siginfo.h>
 #include <compat/linux/common/linux_machdep.h>
 #include <compat/linux/common/linux_mmap.h>
+#include <compat/linux/common/linux_sched.h>
 #include <compat/linux/linux_syscallargs.h>
 
 #define	s(type)	sizeof(type)
@@ -1377,8 +1378,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 313 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 314 = filler */
+		ns(struct linux_sys_getcpu_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_getcpu
+	},		/* 314 = getcpu */
 	{
 		ns(struct linux_sys_epoll_pwait_args),
 		.sy_flags = SYCALL_ARG_PTR,
@@ -1787,8 +1790,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 438 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 439 = filler */
+		ns(struct linux_sys_faccessat2_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_faccessat2
+	},		/* 439 = faccessat2 */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 440 = filler */

Index: src/sys/compat/linux/arch/m68k/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/m68k/linux_syscallargs.h:1.116 src/sys/compat/linux/arch/m68k/linux_syscallargs.h:1.117
--- src/sys/compat/linux/arch/m68k/linux_syscallargs.h:1.116	Sat Aug 19 13:50:25 2023
+++ src/sys/compat/linux/arch/m68k/linux_syscallargs.h	Sat Jun 29 09:46:32 2024
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.116 2023/08/19 17:50:25 christos Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.117 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.104 2023/08/19 17:49:49 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.105 2024/06/29 13:46:10 christos Exp
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -1138,6 +1138,13 @@ struct linux_sys_sched_getaffinity_args 
 };
 check_syscall_args(linux_sys_sched_getaffinity)
 
+struct linux_sys_getcpu_args {
+	syscallarg(unsigned int *) cpu;
+	syscallarg(unsigned int *) node;
+	syscallarg(struct linux_getcpu_cache *) tcache;
+};
+check_syscall_args(linux_sys_getcpu)
+
 struct linux_sys_epoll_pwait_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1286,6 +1293,14 @@ struct linux_sys_close_range_args {
 };
 check_syscall_args(linux_sys_close_range)
 
+struct linux_sys_faccessat2_args {
+	syscallarg(int) fd;
+	syscallarg(const char *) path;
+	syscallarg(int) amode;
+	syscallarg(int) flags;
+};
+check_syscall_args(linux_sys_faccessat2)
+
 struct linux_sys_epoll_pwait2_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1771,6 +1786,8 @@ int	linux_sys_sched_setaffinity(struct l
 
 int	linux_sys_sched_getaffinity(struct lwp *, const struct linux_sys_sched_getaffinity_args *, register_t *);
 
+int	linux_sys_getcpu(struct lwp *, const struct linux_sys_getcpu_args *, register_t *);
+
 int	linux_sys_epoll_pwait(struct lwp *, const struct linux_sys_epoll_pwait_args *, register_t *);
 
 int	linux_sys_utimensat(struct lwp *, const struct linux_sys_utimensat_args *, register_t *);
@@ -1813,6 +1830,8 @@ int	linux_sys_statx(struct lwp *, const 
 
 int	linux_sys_close_range(struct lwp *, const struct linux_sys_close_range_args *, register_t *);
 
+int	linux_sys_faccessat2(struct lwp *, const struct linux_sys_faccessat2_args *, register_t *);
+
 int	linux_sys_epoll_pwait2(struct lwp *, const struct linux_sys_epoll_pwait2_args *, register_t *);
 
 #endif /* _LINUX_SYS_SYSCALLARGS_H_ */

Index: src/sys/compat/linux/arch/mips/linux_syscall.h
diff -u src/sys/compat/linux/arch/mips/linux_syscall.h:1.90 src/sys/compat/linux/arch/mips/linux_syscall.h:1.91
--- src/sys/compat/linux/arch/mips/linux_syscall.h:1.90	Sat Aug 19 13:50:25 2023
+++ src/sys/compat/linux/arch/mips/linux_syscall.h	Sat Jun 29 09:46:32 2024
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.90 2023/08/19 17:50:25 christos Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.91 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.79 2023/08/19 17:49:49 christos Exp  
+ * created from	NetBSD: syscalls.master,v 1.80 2024/06/29 13:46:10 christos Exp  
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -718,6 +718,9 @@
 /* syscall: "__futex_get_robust_list" ret: "int" args: "lwpid_t" "void **" "size_t *" */
 #define	LINUX_SYS___futex_get_robust_list	310
 
+/* syscall: "getcpu" ret: "int" args: "unsigned int *" "unsigned int *" "struct linux_getcpu_cache *" */
+#define	LINUX_SYS_getcpu	312
+
 /* syscall: "epoll_pwait" ret: "int" args: "int" "struct linux_epoll_event *" "int" "int" "const linux_sigset_t *" */
 #define	LINUX_SYS_epoll_pwait	313
 

Index: src/sys/compat/linux/arch/mips/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/mips/linux_syscallargs.h:1.89 src/sys/compat/linux/arch/mips/linux_syscallargs.h:1.90
--- src/sys/compat/linux/arch/mips/linux_syscallargs.h:1.89	Sat Aug 19 13:50:25 2023
+++ src/sys/compat/linux/arch/mips/linux_syscallargs.h	Sat Jun 29 09:46:32 2024
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.89 2023/08/19 17:50:25 christos Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.90 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.79 2023/08/19 17:49:49 christos Exp  
+ * created from	NetBSD: syscalls.master,v 1.80 2024/06/29 13:46:10 christos Exp  
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -1185,6 +1185,13 @@ struct sys___futex_set_robust_list_args;
 
 struct sys___futex_get_robust_list_args;
 
+struct linux_sys_getcpu_args {
+	syscallarg(unsigned int *) cpu;
+	syscallarg(unsigned int *) node;
+	syscallarg(struct linux_getcpu_cache *) tcache;
+};
+check_syscall_args(linux_sys_getcpu)
+
 struct linux_sys_epoll_pwait_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1820,6 +1827,8 @@ int	sys___futex_set_robust_list(struct l
 
 int	sys___futex_get_robust_list(struct lwp *, const struct sys___futex_get_robust_list_args *, register_t *);
 
+int	linux_sys_getcpu(struct lwp *, const struct linux_sys_getcpu_args *, register_t *);
+
 int	linux_sys_epoll_pwait(struct lwp *, const struct linux_sys_epoll_pwait_args *, register_t *);
 
 int	linux_sys_utimensat(struct lwp *, const struct linux_sys_utimensat_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.89 src/sys/compat/linux/arch/mips/linux_syscalls.c:1.90
--- src/sys/compat/linux/arch/mips/linux_syscalls.c:1.89	Sat Aug 19 13:50:25 2023
+++ src/sys/compat/linux/arch/mips/linux_syscalls.c	Sat Jun 29 09:46:32 2024
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.89 2023/08/19 17:50:25 christos Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.90 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.79 2023/08/19 17:49:49 christos Exp  
+ * created from	NetBSD: syscalls.master,v 1.80 2024/06/29 13:46:10 christos Exp  
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.89 2023/08/19 17:50:25 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.90 2024/06/29 13:46:32 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include <sys/param.h>
@@ -23,6 +23,7 @@ __KERNEL_RCSID(0, "$NetBSD: linux_syscal
 #include <compat/linux/common/linux_machdep.h>
 #include <compat/linux/common/linux_mmap.h>
 #include <compat/linux/common/linux_socketcall.h>
+#include <compat/linux/common/linux_sched.h>
 #include <compat/linux/linux_syscallargs.h>
 #define linux_sys_mmap2_args linux_sys_mmap_args
 #else /* _KERNEL_OPT */
@@ -342,7 +343,7 @@ const char *const linux_syscallnames[] =
 	/* 309 */	"__futex_set_robust_list",
 	/* 310 */	"__futex_get_robust_list",
 	/* 311 */	"#311 (unimplemented kexec_load)",
-	/* 312 */	"#312 (unimplemented getcpu)",
+	/* 312 */	"getcpu",
 	/* 313 */	"epoll_pwait",
 	/* 314 */	"#314 (unimplemented ioprio_set)",
 	/* 315 */	"#315 (unimplemented ioprio_get)",
@@ -859,7 +860,7 @@ const char *const altlinux_syscallnames[
 	/* 309 */	NULL, /* __futex_set_robust_list */
 	/* 310 */	NULL, /* __futex_get_robust_list */
 	/* 311 */	NULL, /* unimplemented kexec_load */
-	/* 312 */	NULL, /* unimplemented getcpu */
+	/* 312 */	NULL, /* getcpu */
 	/* 313 */	NULL, /* epoll_pwait */
 	/* 314 */	NULL, /* unimplemented ioprio_set */
 	/* 315 */	NULL, /* unimplemented ioprio_get */
Index: src/sys/compat/linux/arch/mips/linux_sysent.c
diff -u src/sys/compat/linux/arch/mips/linux_sysent.c:1.89 src/sys/compat/linux/arch/mips/linux_sysent.c:1.90
--- src/sys/compat/linux/arch/mips/linux_sysent.c:1.89	Sat Aug 19 13:50:25 2023
+++ src/sys/compat/linux/arch/mips/linux_sysent.c	Sat Jun 29 09:46:32 2024
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.89 2023/08/19 17:50:25 christos Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.90 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.79 2023/08/19 17:49:49 christos Exp  
+ * created from	NetBSD: syscalls.master,v 1.80 2024/06/29 13:46:10 christos Exp  
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.89 2023/08/19 17:50:25 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.90 2024/06/29 13:46:32 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/poll.h>
@@ -22,6 +22,7 @@ __KERNEL_RCSID(0, "$NetBSD: linux_sysent
 #include <compat/linux/common/linux_machdep.h>
 #include <compat/linux/common/linux_mmap.h>
 #include <compat/linux/common/linux_socketcall.h>
+#include <compat/linux/common/linux_sched.h>
 #include <compat/linux/linux_syscallargs.h>
 #define linux_sys_mmap2_args linux_sys_mmap_args
 
@@ -1351,8 +1352,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 311 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 312 = filler */
+		ns(struct linux_sys_getcpu_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_getcpu
+	},		/* 312 = getcpu */
 	{
 		ns(struct linux_sys_epoll_pwait_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.96 src/sys/compat/linux/arch/powerpc/linux_syscall.h:1.97
--- src/sys/compat/linux/arch/powerpc/linux_syscall.h:1.96	Sat Aug 19 13:50:25 2023
+++ src/sys/compat/linux/arch/powerpc/linux_syscall.h	Sat Jun 29 09:46:32 2024
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscall.h,v 1.96 2023/08/19 17:50:25 christos Exp $ */
+/* $NetBSD: linux_syscall.h,v 1.97 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.84 2023/08/19 17:49:50 christos Exp  
+ * created from	NetBSD: syscalls.master,v 1.85 2024/06/29 13:46:10 christos Exp  
  */
 
 #ifndef _LINUX_SYS_SYSCALL_H_
@@ -687,6 +687,9 @@
 /* syscall: "__futex_get_robust_list" ret: "int" args: "lwpid_t" "void **" "size_t *" */
 #define	LINUX_SYS___futex_get_robust_list	300
 
+/* syscall: "getcpu" ret: "int" args: "unsigned int *" "unsigned int *" "struct linux_getcpu_cache *" */
+#define	LINUX_SYS_getcpu	302
+
 /* syscall: "epoll_pwait" ret: "int" args: "int" "struct linux_epoll_event *" "int" "int" "const linux_sigset_t *" */
 #define	LINUX_SYS_epoll_pwait	303
 
@@ -750,6 +753,9 @@
 /* syscall: "close_range" ret: "int" args: "unsigned int" "unsigned int" "unsigned int" */
 #define	LINUX_SYS_close_range	436
 
+/* syscall: "faccessat2" ret: "int" args: "int" "const char *" "int" "int" */
+#define	LINUX_SYS_faccessat2	439
+
 /* syscall: "epoll_pwait2" ret: "int" args: "int" "struct linux_epoll_event *" "int" "const struct linux_timespec *" "const linux_sigset_t *" */
 #define	LINUX_SYS_epoll_pwait2	441
 
Index: src/sys/compat/linux/arch/powerpc/linux_sysent.c
diff -u src/sys/compat/linux/arch/powerpc/linux_sysent.c:1.96 src/sys/compat/linux/arch/powerpc/linux_sysent.c:1.97
--- src/sys/compat/linux/arch/powerpc/linux_sysent.c:1.96	Sat Aug 19 13:50:25 2023
+++ src/sys/compat/linux/arch/powerpc/linux_sysent.c	Sat Jun 29 09:46:32 2024
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_sysent.c,v 1.96 2023/08/19 17:50:25 christos Exp $ */
+/* $NetBSD: linux_sysent.c,v 1.97 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.84 2023/08/19 17:49:50 christos Exp  
+ * created from	NetBSD: syscalls.master,v 1.85 2024/06/29 13:46:10 christos Exp  
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.96 2023/08/19 17:50:25 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_sysent.c,v 1.97 2024/06/29 13:46:32 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/poll.h>
@@ -21,6 +21,7 @@ __KERNEL_RCSID(0, "$NetBSD: linux_sysent
 #include <compat/linux/common/linux_siginfo.h>
 #include <compat/linux/common/linux_machdep.h>
 #include <compat/linux/common/linux_mmap.h>
+#include <compat/linux/common/linux_sched.h>
 #include <compat/linux/linux_syscallargs.h>
 
 #define	s(type)	sizeof(type)
@@ -1300,8 +1301,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 301 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 302 = filler */
+		ns(struct linux_sys_getcpu_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_getcpu
+	},		/* 302 = getcpu */
 	{
 		ns(struct linux_sys_epoll_pwait_args),
 		.sy_flags = SYCALL_ARG_PTR,
@@ -1746,8 +1749,10 @@ struct sysent linux_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 438 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 439 = filler */
+		ns(struct linux_sys_faccessat2_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)linux_sys_faccessat2
+	},		/* 439 = faccessat2 */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 440 = filler */

Index: src/sys/compat/linux/arch/powerpc/linux_syscallargs.h
diff -u src/sys/compat/linux/arch/powerpc/linux_syscallargs.h:1.95 src/sys/compat/linux/arch/powerpc/linux_syscallargs.h:1.96
--- src/sys/compat/linux/arch/powerpc/linux_syscallargs.h:1.95	Sat Aug 19 13:50:25 2023
+++ src/sys/compat/linux/arch/powerpc/linux_syscallargs.h	Sat Jun 29 09:46:32 2024
@@ -1,10 +1,10 @@
-/* $NetBSD: linux_syscallargs.h,v 1.95 2023/08/19 17:50:25 christos Exp $ */
+/* $NetBSD: linux_syscallargs.h,v 1.96 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.84 2023/08/19 17:49:50 christos Exp  
+ * created from	NetBSD: syscalls.master,v 1.85 2024/06/29 13:46:10 christos Exp  
  */
 
 #ifndef _LINUX_SYS_SYSCALLARGS_H_
@@ -1072,6 +1072,13 @@ struct sys___futex_set_robust_list_args;
 
 struct sys___futex_get_robust_list_args;
 
+struct linux_sys_getcpu_args {
+	syscallarg(unsigned int *) cpu;
+	syscallarg(unsigned int *) node;
+	syscallarg(struct linux_getcpu_cache *) tcache;
+};
+check_syscall_args(linux_sys_getcpu)
+
 struct linux_sys_epoll_pwait_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1220,6 +1227,14 @@ struct linux_sys_close_range_args {
 };
 check_syscall_args(linux_sys_close_range)
 
+struct linux_sys_faccessat2_args {
+	syscallarg(int) fd;
+	syscallarg(const char *) path;
+	syscallarg(int) amode;
+	syscallarg(int) flags;
+};
+check_syscall_args(linux_sys_faccessat2)
+
 struct linux_sys_epoll_pwait2_args {
 	syscallarg(int) epfd;
 	syscallarg(struct linux_epoll_event *) events;
@@ -1677,6 +1692,8 @@ int	sys___futex_set_robust_list(struct l
 
 int	sys___futex_get_robust_list(struct lwp *, const struct sys___futex_get_robust_list_args *, register_t *);
 
+int	linux_sys_getcpu(struct lwp *, const struct linux_sys_getcpu_args *, register_t *);
+
 int	linux_sys_epoll_pwait(struct lwp *, const struct linux_sys_epoll_pwait_args *, register_t *);
 
 int	linux_sys_utimensat(struct lwp *, const struct linux_sys_utimensat_args *, register_t *);
@@ -1719,6 +1736,8 @@ int	linux_sys_statx(struct lwp *, const 
 
 int	linux_sys_close_range(struct lwp *, const struct linux_sys_close_range_args *, register_t *);
 
+int	linux_sys_faccessat2(struct lwp *, const struct linux_sys_faccessat2_args *, register_t *);
+
 int	linux_sys_epoll_pwait2(struct lwp *, const struct linux_sys_epoll_pwait2_args *, register_t *);
 
 #endif /* _LINUX_SYS_SYSCALLARGS_H_ */
Index: src/sys/compat/linux/arch/powerpc/linux_syscalls.c
diff -u src/sys/compat/linux/arch/powerpc/linux_syscalls.c:1.95 src/sys/compat/linux/arch/powerpc/linux_syscalls.c:1.96
--- src/sys/compat/linux/arch/powerpc/linux_syscalls.c:1.95	Sat Aug 19 13:50:25 2023
+++ src/sys/compat/linux/arch/powerpc/linux_syscalls.c	Sat Jun 29 09:46:32 2024
@@ -1,14 +1,14 @@
-/* $NetBSD: linux_syscalls.c,v 1.95 2023/08/19 17:50:25 christos Exp $ */
+/* $NetBSD: linux_syscalls.c,v 1.96 2024/06/29 13:46:32 christos Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.84 2023/08/19 17:49:50 christos Exp  
+ * created from	NetBSD: syscalls.master,v 1.85 2024/06/29 13:46:10 christos Exp  
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.95 2023/08/19 17:50:25 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_syscalls.c,v 1.96 2024/06/29 13:46:32 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #include <sys/param.h>
@@ -22,6 +22,7 @@ __KERNEL_RCSID(0, "$NetBSD: linux_syscal
 #include <compat/linux/common/linux_siginfo.h>
 #include <compat/linux/common/linux_machdep.h>
 #include <compat/linux/common/linux_mmap.h>
+#include <compat/linux/common/linux_sched.h>
 #include <compat/linux/linux_syscallargs.h>
 #else /* _KERNEL_OPT */
 #include <sys/null.h>
@@ -335,7 +336,7 @@ const char *const linux_syscallnames[] =
 	/* 299 */	"__futex_set_robust_list",
 	/* 300 */	"__futex_get_robust_list",
 	/* 301 */	"#301 (unimplemented move_pages)",
-	/* 302 */	"#302 (unimplemented getcpu)",
+	/* 302 */	"getcpu",
 	/* 303 */	"epoll_pwait",
 	/* 304 */	"utimensat",
 	/* 305 */	"#305 (unimplemented signalfd)",
@@ -472,7 +473,7 @@ const char *const linux_syscallnames[] =
 	/* 436 */	"close_range",
 	/* 437 */	"#437 (unimplemented)",
 	/* 438 */	"#438 (unimplemented)",
-	/* 439 */	"#439 (unimplemented)",
+	/* 439 */	"faccessat2",
 	/* 440 */	"#440 (unimplemented)",
 	/* 441 */	"epoll_pwait2",
 	/* 442 */	"# filler",
@@ -857,7 +858,7 @@ const char *const altlinux_syscallnames[
 	/* 299 */	NULL, /* __futex_set_robust_list */
 	/* 300 */	NULL, /* __futex_get_robust_list */
 	/* 301 */	NULL, /* unimplemented move_pages */
-	/* 302 */	NULL, /* unimplemented getcpu */
+	/* 302 */	NULL, /* getcpu */
 	/* 303 */	NULL, /* epoll_pwait */
 	/* 304 */	NULL, /* utimensat */
 	/* 305 */	NULL, /* unimplemented signalfd */
@@ -994,7 +995,7 @@ const char *const altlinux_syscallnames[
 	/* 436 */	NULL, /* close_range */
 	/* 437 */	NULL, /* unimplemented */
 	/* 438 */	NULL, /* unimplemented */
-	/* 439 */	NULL, /* unimplemented */
+	/* 439 */	NULL, /* faccessat2 */
 	/* 440 */	NULL, /* unimplemented */
 	/* 441 */	NULL, /* epoll_pwait2 */
 	/* 442 */	NULL, /* filler */

Reply via email to