Module Name:    src
Committed By:   christos
Date:           Fri Jul 28 18:20:29 UTC 2023

Modified Files:
        src/sys/kern: init_sysent.c syscalls.c syscalls_autoload.c
            systrace_args.c
        src/sys/rump/include/rump: rump_syscalls.h
        src/sys/rump/librump/rumpkern: rump_syscalls.c rumpkern_syscalls.c
        src/sys/sys: syscall.h syscallargs.h

Log Message:
regen


To generate a diff of this commit:
cvs rdiff -u -r1.340 -r1.341 src/sys/kern/init_sysent.c
cvs rdiff -u -r1.328 -r1.329 src/sys/kern/syscalls.c
cvs rdiff -u -r1.44 -r1.45 src/sys/kern/syscalls_autoload.c
cvs rdiff -u -r1.50 -r1.51 src/sys/kern/systrace_args.c
cvs rdiff -u -r1.127 -r1.128 src/sys/rump/include/rump/rump_syscalls.h
cvs rdiff -u -r1.158 -r1.159 src/sys/rump/librump/rumpkern/rump_syscalls.c
cvs rdiff -u -r1.7 -r1.8 src/sys/rump/librump/rumpkern/rumpkern_syscalls.c
cvs rdiff -u -r1.323 -r1.324 src/sys/sys/syscall.h
cvs rdiff -u -r1.306 -r1.307 src/sys/sys/syscallargs.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/kern/init_sysent.c
diff -u src/sys/kern/init_sysent.c:1.340 src/sys/kern/init_sysent.c:1.341
--- src/sys/kern/init_sysent.c:1.340	Sun Jul  9 22:37:05 2023
+++ src/sys/kern/init_sysent.c	Fri Jul 28 14:20:28 2023
@@ -1,14 +1,14 @@
-/* $NetBSD: init_sysent.c,v 1.340 2023/07/10 02:37:05 christos Exp $ */
+/* $NetBSD: init_sysent.c,v 1.341 2023/07/28 18:20:28 christos Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.310 2023/07/10 02:33:04 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.311 2023/07/28 18:19:01 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: init_sysent.c,v 1.340 2023/07/10 02:37:05 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: init_sysent.c,v 1.341 2023/07/28 18:20:28 christos Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_modular.h"
@@ -127,6 +127,12 @@ __KERNEL_RCSID(0, "$NetBSD: init_sysent.
 #define	compat_90(func) sys_nosys
 #endif
 
+#ifdef COMPAT_100
+#define	compat_100(func) __CONCAT(compat_100_,func)
+#else
+#define	compat_100(func) sys_nosys
+#endif
+
 #define	s(type)	sizeof(type)
 #define	n(type)	(sizeof(type)/sizeof (register_t))
 #define	ns(type)	.sy_narg = n(type), .sy_argsize = s(type)
@@ -2112,10 +2118,10 @@ struct sysent sysent[] = {
 		.sy_call = (sy_call_t *)sys_nomodule
 	},		/* 434 = compat_60__lwp_park */
 	{
-		ns(struct sys___kevent50_args),
+		ns(struct compat_100_sys___kevent50_args),
 		.sy_flags = SYCALL_ARG_PTR,
-		.sy_call = (sy_call_t *)sys___kevent50
-	},		/* 435 = __kevent50 */
+		.sy_call = (sy_call_t *)sys_nomodule
+	},		/* 435 = compat_100___kevent50 */
 	{
 		ns(struct sys___pselect50_args),
 		.sy_flags = SYCALL_ARG_PTR,
@@ -2443,17 +2449,24 @@ struct sysent sysent[] = {
 		.sy_call = (sy_call_t *)sys_memfd_create
 	},		/* 500 = memfd_create */
 	{
-		.sy_call = sys_nosys,
-	},		/* 501 = filler */
+		ns(struct sys___kevent100_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)sys___kevent100
+	},		/* 501 = __kevent100 */
 	{
-		.sy_call = sys_nosys,
-	},		/* 502 = filler */
+		ns(struct sys_epoll_create1_args),
+		.sy_call = (sy_call_t *)sys_epoll_create1
+	},		/* 502 = epoll_create1 */
 	{
-		.sy_call = sys_nosys,
-	},		/* 503 = filler */
+		ns(struct sys_epoll_ctl_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)sys_epoll_ctl
+	},		/* 503 = epoll_ctl */
 	{
-		.sy_call = sys_nosys,
-	},		/* 504 = filler */
+		ns(struct sys_epoll_pwait2_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)sys_epoll_pwait2
+	},		/* 504 = epoll_pwait2 */
 	{
 		.sy_call = sys_nosys,
 	},		/* 505 = filler */
@@ -2491,7 +2504,7 @@ const uint32_t sysent_nomodbits[] = {
 	0x0200fc01,	/* syscalls 320-351 */
 	0x006000f0,	/* syscalls 352-383 */
 	0x007fe338,	/* syscalls 384-415 */
-	0x1c470040,	/* syscalls 416-447 */
+	0x1c4f0040,	/* syscalls 416-447 */
 	0x00000000,	/* syscalls 448-479 */
 	0x00000000,	/* syscalls 480-511 */
 };

Index: src/sys/kern/syscalls.c
diff -u src/sys/kern/syscalls.c:1.328 src/sys/kern/syscalls.c:1.329
--- src/sys/kern/syscalls.c:1.328	Sun Jul  9 22:37:05 2023
+++ src/sys/kern/syscalls.c	Fri Jul 28 14:20:28 2023
@@ -1,14 +1,14 @@
-/* $NetBSD: syscalls.c,v 1.328 2023/07/10 02:37:05 christos Exp $ */
+/* $NetBSD: syscalls.c,v 1.329 2023/07/28 18:20:28 christos Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.310 2023/07/10 02:33:04 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.311 2023/07/28 18:19:01 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: syscalls.c,v 1.328 2023/07/10 02:37:05 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: syscalls.c,v 1.329 2023/07/28 18:20:28 christos Exp $");
 
 #if defined(_KERNEL_OPT)
 #ifdef _KERNEL_OPT
@@ -481,7 +481,7 @@ const char *const syscallnames[] = {
 	/* 432 */	"__mq_timedsend50",
 	/* 433 */	"__mq_timedreceive50",
 	/* 434 */	"compat_60__lwp_park",
-	/* 435 */	"__kevent50",
+	/* 435 */	"compat_100___kevent50",
 	/* 436 */	"__pselect50",
 	/* 437 */	"__pollts50",
 	/* 438 */	"__aio_suspend50",
@@ -551,10 +551,10 @@ const char *const syscallnames[] = {
 	/* 498 */	"__acl_aclcheck_fd",
 	/* 499 */	"lpathconf",
 	/* 500 */	"memfd_create",
-	/* 501 */	"# filler",
-	/* 502 */	"# filler",
-	/* 503 */	"# filler",
-	/* 504 */	"# filler",
+	/* 501 */	"__kevent100",
+	/* 502 */	"epoll_create1",
+	/* 503 */	"epoll_ctl",
+	/* 504 */	"epoll_pwait2",
 	/* 505 */	"# filler",
 	/* 506 */	"# filler",
 	/* 507 */	"# filler",
@@ -1018,7 +1018,7 @@ const char *const altsyscallnames[] = {
 	/* 432 */	"mq_timedsend",
 	/* 433 */	"mq_timedreceive",
 	/* 434 */	NULL, /* compat_60__lwp_park */
-	/* 435 */	"kevent",
+	/* 435 */	NULL, /* compat_100___kevent50 */
 	/* 436 */	"pselect",
 	/* 437 */	"pollts",
 	/* 438 */	"aio_suspend",
@@ -1088,10 +1088,10 @@ const char *const altsyscallnames[] = {
 	/* 498 */	NULL, /* __acl_aclcheck_fd */
 	/* 499 */	NULL, /* lpathconf */
 	/* 500 */	NULL, /* memfd_create */
-	/* 501 */	NULL, /* filler */
-	/* 502 */	NULL, /* filler */
-	/* 503 */	NULL, /* filler */
-	/* 504 */	NULL, /* filler */
+	/* 501 */	"kevent",
+	/* 502 */	NULL, /* epoll_create1 */
+	/* 503 */	NULL, /* epoll_ctl */
+	/* 504 */	NULL, /* epoll_pwait2 */
 	/* 505 */	NULL, /* filler */
 	/* 506 */	NULL, /* filler */
 	/* 507 */	NULL, /* filler */

Index: src/sys/kern/syscalls_autoload.c
diff -u src/sys/kern/syscalls_autoload.c:1.44 src/sys/kern/syscalls_autoload.c:1.45
--- src/sys/kern/syscalls_autoload.c:1.44	Sun Jul  9 22:37:05 2023
+++ src/sys/kern/syscalls_autoload.c	Fri Jul 28 14:20:28 2023
@@ -1,14 +1,14 @@
-/* $NetBSD: syscalls_autoload.c,v 1.44 2023/07/10 02:37:05 christos Exp $ */
+/* $NetBSD: syscalls_autoload.c,v 1.45 2023/07/28 18:20:28 christos Exp $ */
 
 /*
  * System call autoload table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.310 2023/07/10 02:33:04 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.311 2023/07/28 18:19:01 christos Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: syscalls_autoload.c,v 1.44 2023/07/10 02:37:05 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: syscalls_autoload.c,v 1.45 2023/07/28 18:20:28 christos Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_modular.h"
@@ -200,6 +200,7 @@ static struct sc_autoload netbsd_syscall
 	    { SYS___mq_timedsend50, "mqueue" },
 	    { SYS___mq_timedreceive50, "mqueue" },
 	    { SYS_compat_60__lwp_park, "compat_60" },
+	    { SYS_compat_100___kevent50, "compat_100" },
 	    { SYS___aio_suspend50, "aio" },
 	    { SYS_____semctl50, "sysv_ipc" },
 	    { SYS___shmctl50, "sysv_ipc" },

Index: src/sys/kern/systrace_args.c
diff -u src/sys/kern/systrace_args.c:1.50 src/sys/kern/systrace_args.c:1.51
--- src/sys/kern/systrace_args.c:1.50	Sun Jul  9 22:37:05 2023
+++ src/sys/kern/systrace_args.c	Fri Jul 28 14:20:28 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: systrace_args.c,v 1.50 2023/07/10 02:37:05 christos Exp $ */
+/* $NetBSD: systrace_args.c,v 1.51 2023/07/28 18:20:28 christos Exp $ */
 
 /*
  * System call argument to DTrace register array conversion.
@@ -2518,9 +2518,9 @@ systrace_args(register_t sysnum, const v
 	case 345: {
 		const struct compat_50_sys_kevent_args *p = params;
 		iarg[0] = SCARG(p, fd); /* int */
-		uarg[1] = (intptr_t) SCARG(p, changelist); /* const struct kevent * */
+		uarg[1] = (intptr_t) SCARG(p, changelist); /* const struct kevent100 * */
 		uarg[2] = SCARG(p, nchanges); /* size_t */
-		uarg[3] = (intptr_t) SCARG(p, eventlist); /* struct kevent * */
+		uarg[3] = (intptr_t) SCARG(p, eventlist); /* struct kevent100 * */
 		uarg[4] = SCARG(p, nevents); /* size_t */
 		uarg[5] = (intptr_t) SCARG(p, timeout); /* const struct timespec50 * */
 		*n_args = 6;
@@ -3285,11 +3285,11 @@ systrace_args(register_t sysnum, const v
 	}
 	/* sys___kevent50 */
 	case 435: {
-		const struct sys___kevent50_args *p = params;
+		const struct compat_100_sys___kevent50_args *p = params;
 		iarg[0] = SCARG(p, fd); /* int */
-		uarg[1] = (intptr_t) SCARG(p, changelist); /* const struct kevent * */
+		uarg[1] = (intptr_t) SCARG(p, changelist); /* const struct kevent100 * */
 		uarg[2] = SCARG(p, nchanges); /* size_t */
-		uarg[3] = (intptr_t) SCARG(p, eventlist); /* struct kevent * */
+		uarg[3] = (intptr_t) SCARG(p, eventlist); /* struct kevent100 * */
 		uarg[4] = SCARG(p, nevents); /* size_t */
 		uarg[5] = (intptr_t) SCARG(p, timeout); /* const struct timespec * */
 		*n_args = 6;
@@ -3895,6 +3895,46 @@ systrace_args(register_t sysnum, const v
 		*n_args = 2;
 		break;
 	}
+	/* sys___kevent100 */
+	case 501: {
+		const struct sys___kevent100_args *p = params;
+		iarg[0] = SCARG(p, fd); /* int */
+		uarg[1] = (intptr_t) SCARG(p, changelist); /* const struct kevent * */
+		uarg[2] = SCARG(p, nchanges); /* size_t */
+		uarg[3] = (intptr_t) SCARG(p, eventlist); /* struct kevent * */
+		uarg[4] = SCARG(p, nevents); /* size_t */
+		uarg[5] = (intptr_t) SCARG(p, timeout); /* const struct timespec * */
+		*n_args = 6;
+		break;
+	}
+	/* sys_epoll_create1 */
+	case 502: {
+		const struct sys_epoll_create1_args *p = params;
+		iarg[0] = SCARG(p, flags); /* int */
+		*n_args = 1;
+		break;
+	}
+	/* sys_epoll_ctl */
+	case 503: {
+		const struct sys_epoll_ctl_args *p = params;
+		iarg[0] = SCARG(p, epfd); /* int */
+		iarg[1] = SCARG(p, op); /* int */
+		iarg[2] = SCARG(p, fd); /* int */
+		uarg[3] = (intptr_t) SCARG(p, event); /* struct epoll_event * */
+		*n_args = 4;
+		break;
+	}
+	/* sys_epoll_pwait2 */
+	case 504: {
+		const struct sys_epoll_pwait2_args *p = params;
+		iarg[0] = SCARG(p, epfd); /* int */
+		uarg[1] = (intptr_t) SCARG(p, events); /* struct epoll_event * */
+		iarg[2] = SCARG(p, maxevents); /* int */
+		uarg[3] = (intptr_t) SCARG(p, timeout); /* const struct timespec * */
+		uarg[4] = (intptr_t) SCARG(p, sigmask); /* const sigset_t * */
+		*n_args = 5;
+		break;
+	}
 	default:
 		*n_args = 0;
 		break;
@@ -8023,13 +8063,13 @@ systrace_entry_setargdesc(int sysnum, in
 			p = "int";
 			break;
 		case 1:
-			p = "const struct kevent *";
+			p = "const struct kevent100 *";
 			break;
 		case 2:
 			p = "size_t";
 			break;
 		case 3:
-			p = "struct kevent *";
+			p = "struct kevent100 *";
 			break;
 		case 4:
 			p = "size_t";
@@ -9405,13 +9445,13 @@ systrace_entry_setargdesc(int sysnum, in
 			p = "int";
 			break;
 		case 1:
-			p = "const struct kevent *";
+			p = "const struct kevent100 *";
 			break;
 		case 2:
 			p = "size_t";
 			break;
 		case 3:
-			p = "struct kevent *";
+			p = "struct kevent100 *";
 			break;
 		case 4:
 			p = "size_t";
@@ -10513,6 +10553,82 @@ systrace_entry_setargdesc(int sysnum, in
 			break;
 		};
 		break;
+	/* sys___kevent100 */
+	case 501:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "const struct kevent *";
+			break;
+		case 2:
+			p = "size_t";
+			break;
+		case 3:
+			p = "struct kevent *";
+			break;
+		case 4:
+			p = "size_t";
+			break;
+		case 5:
+			p = "const struct timespec *";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* sys_epoll_create1 */
+	case 502:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* sys_epoll_ctl */
+	case 503:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "int";
+			break;
+		case 2:
+			p = "int";
+			break;
+		case 3:
+			p = "struct epoll_event *";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* sys_epoll_pwait2 */
+	case 504:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "struct epoll_event *";
+			break;
+		case 2:
+			p = "int";
+			break;
+		case 3:
+			p = "const struct timespec *";
+			break;
+		case 4:
+			p = "const sigset_t *";
+			break;
+		default:
+			break;
+		};
+		break;
 	default:
 		break;
 	};
@@ -12720,6 +12836,26 @@ systrace_return_setargdesc(int sysnum, i
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* sys___kevent100 */
+	case 501:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* sys_epoll_create1 */
+	case 502:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* sys_epoll_ctl */
+	case 503:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* sys_epoll_pwait2 */
+	case 504:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	default:
 		break;
 	};

Index: src/sys/rump/include/rump/rump_syscalls.h
diff -u src/sys/rump/include/rump/rump_syscalls.h:1.127 src/sys/rump/include/rump/rump_syscalls.h:1.128
--- src/sys/rump/include/rump/rump_syscalls.h:1.127	Sun Jul  9 22:37:05 2023
+++ src/sys/rump/include/rump/rump_syscalls.h	Fri Jul 28 14:20:28 2023
@@ -1,10 +1,10 @@
-/* $NetBSD: rump_syscalls.h,v 1.127 2023/07/10 02:37:05 christos Exp $ */
+/* $NetBSD: rump_syscalls.h,v 1.128 2023/07/28 18:20:28 christos Exp $ */
 
 /*
  * System call protos in rump namespace.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.310 2023/07/10 02:33:04 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.311 2023/07/28 18:19:01 christos Exp
  */
 
 #ifndef _RUMP_RUMP_SYSCALLS_H_
@@ -461,7 +461,7 @@
 #endif
 
 #ifndef RUMP_SYS_RENAME_KEVENT
-#define RUMP_SYS_RENAME_KEVENT rump___sysimpl_kevent50
+#define RUMP_SYS_RENAME_KEVENT rump___sysimpl_kevent100
 #endif
 
 #ifndef RUMP_SYS_RENAME_KQUEUE

Index: src/sys/rump/librump/rumpkern/rump_syscalls.c
diff -u src/sys/rump/librump/rumpkern/rump_syscalls.c:1.158 src/sys/rump/librump/rumpkern/rump_syscalls.c:1.159
--- src/sys/rump/librump/rumpkern/rump_syscalls.c:1.158	Sun Jul  9 22:37:05 2023
+++ src/sys/rump/librump/rumpkern/rump_syscalls.c	Fri Jul 28 14:20:29 2023
@@ -1,10 +1,10 @@
-/* $NetBSD: rump_syscalls.c,v 1.158 2023/07/10 02:37:05 christos Exp $ */
+/* $NetBSD: rump_syscalls.c,v 1.159 2023/07/28 18:20:29 christos Exp $ */
 
 /*
  * System call vector and marshalling for rump.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.310 2023/07/10 02:33:04 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.311 2023/07/28 18:19:01 christos Exp
  */
 
 #ifdef RUMP_CLIENT
@@ -15,7 +15,7 @@
 
 #ifdef __NetBSD__
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rump_syscalls.c,v 1.158 2023/07/10 02:37:05 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rump_syscalls.c,v 1.159 2023/07/28 18:20:29 christos Exp $");
 
 #include <sys/fstypes.h>
 #include <sys/proc.h>
@@ -3520,9 +3520,9 @@ rump___sysimpl_kevent(int fd, const stru
 
 	memset(&callarg, 0, sizeof(callarg));
 	SPARG(&callarg, fd) = fd;
-	SPARG(&callarg, changelist) = changelist;
+	SPARG(&callarg, changelist) = (const struct kevent100 *)changelist;
 	SPARG(&callarg, nchanges) = nchanges;
-	SPARG(&callarg, eventlist) = eventlist;
+	SPARG(&callarg, eventlist) = (struct kevent100 *)eventlist;
 	SPARG(&callarg, nevents) = nevents;
 	SPARG(&callarg, timeout) = (const struct timespec50 *)timeout;
 
@@ -5325,6 +5325,7 @@ __weak_alias(___nanosleep50,rump___sysim
 __strong_alias(_sys___nanosleep50,rump___sysimpl_nanosleep50);
 #endif /* RUMP_KERNEL_IS_LIBC */
 
+#ifdef RUMP_SYS_COMPAT
 int rump___sysimpl_kevent50(int, const struct kevent *, size_t, struct kevent *, size_t, const struct timespec *);
 int
 rump___sysimpl_kevent50(int fd, const struct kevent * changelist, size_t nchanges, struct kevent * eventlist, size_t nevents, const struct timespec * timeout)
@@ -5332,17 +5333,17 @@ rump___sysimpl_kevent50(int fd, const st
 	register_t retval[2];
 	int error = 0;
 	int rv = -1;
-	struct sys___kevent50_args callarg;
+	struct compat_100_sys___kevent50_args callarg;
 
 	memset(&callarg, 0, sizeof(callarg));
 	SPARG(&callarg, fd) = fd;
-	SPARG(&callarg, changelist) = changelist;
+	SPARG(&callarg, changelist) = (const struct kevent100 *)changelist;
 	SPARG(&callarg, nchanges) = nchanges;
-	SPARG(&callarg, eventlist) = eventlist;
+	SPARG(&callarg, eventlist) = (struct kevent100 *)eventlist;
 	SPARG(&callarg, nevents) = nevents;
 	SPARG(&callarg, timeout) = timeout;
 
-	error = rsys_syscall(SYS___kevent50, &callarg, sizeof(callarg), retval);
+	error = rsys_syscall(SYS_compat_100___kevent50, &callarg, sizeof(callarg), retval);
 	rsys_seterrno(error);
 	if (error == 0) {
 		if (sizeof(int) > sizeof(register_t))
@@ -5358,6 +5359,7 @@ __weak_alias(__kevent50,rump___sysimpl_k
 __weak_alias(___kevent50,rump___sysimpl_kevent50);
 __strong_alias(_sys___kevent50,rump___sysimpl_kevent50);
 #endif /* RUMP_KERNEL_IS_LIBC */
+#endif /* RUMP_SYS_COMPAT */
 
 int rump___sysimpl_pselect50(int, fd_set *, fd_set *, fd_set *, const struct timespec *, const sigset_t *);
 int
@@ -6612,6 +6614,40 @@ __weak_alias(_lpathconf,rump___sysimpl_l
 __strong_alias(_sys_lpathconf,rump___sysimpl_lpathconf);
 #endif /* RUMP_KERNEL_IS_LIBC */
 
+int rump___sysimpl_kevent100(int, const struct kevent *, size_t, struct kevent *, size_t, const struct timespec *);
+int
+rump___sysimpl_kevent100(int fd, const struct kevent * changelist, size_t nchanges, struct kevent * eventlist, size_t nevents, const struct timespec * timeout)
+{
+	register_t retval[2];
+	int error = 0;
+	int rv = -1;
+	struct sys___kevent100_args callarg;
+
+	memset(&callarg, 0, sizeof(callarg));
+	SPARG(&callarg, fd) = fd;
+	SPARG(&callarg, changelist) = changelist;
+	SPARG(&callarg, nchanges) = nchanges;
+	SPARG(&callarg, eventlist) = eventlist;
+	SPARG(&callarg, nevents) = nevents;
+	SPARG(&callarg, timeout) = timeout;
+
+	error = rsys_syscall(SYS___kevent100, &callarg, sizeof(callarg), retval);
+	rsys_seterrno(error);
+	if (error == 0) {
+		if (sizeof(int) > sizeof(register_t))
+			rv = *(int *)retval;
+		else
+			rv = *retval;
+	}
+	return rv;
+}
+#ifdef RUMP_KERNEL_IS_LIBC
+__weak_alias(kevent,rump___sysimpl_kevent100);
+__weak_alias(__kevent100,rump___sysimpl_kevent100);
+__weak_alias(___kevent100,rump___sysimpl_kevent100);
+__strong_alias(_sys___kevent100,rump___sysimpl_kevent100);
+#endif /* RUMP_KERNEL_IS_LIBC */
+
 int rump_sys_pipe(int *);
 int
 rump_sys_pipe(int *fd)
@@ -8323,9 +8359,9 @@ struct sysent rump_sysent[] = {
 		.sy_call = (sy_call_t *)(void *)rumpns_sys_nomodule,
 },		/* 434 = _lwp_park */
 	{
-		ns(struct sys___kevent50_args),
-		.sy_call = (sy_call_t *)(void *)rumpns_enosys,
-	},		/* 435 = __kevent50 */
+		ns(struct compat_100_sys___kevent50_args),
+		.sy_call = (sy_call_t *)(void *)rumpns_sys_nomodule,
+	},		/* 435 = compat_100___kevent50 */
 	{
 		ns(struct sys___pselect50_args),
 		.sy_call = (sy_call_t *)(void *)rumpns_enosys,
@@ -8574,21 +8610,18 @@ struct sysent rump_sysent[] = {
 		.sy_call = (sy_call_t *)(void *)rumpns_enosys,
 },		/* 500 = memfd_create */
 	{
-		.sy_flags = SYCALL_NOSYS,
+		ns(struct sys___kevent100_args),
 		.sy_call = (sy_call_t *)(void *)rumpns_enosys,
-	},		/* 501 = filler */
+	},		/* 501 = __kevent100 */
 	{
-		.sy_flags = SYCALL_NOSYS,
 		.sy_call = (sy_call_t *)(void *)rumpns_enosys,
-	},		/* 502 = filler */
+},		/* 502 = epoll_create1 */
 	{
-		.sy_flags = SYCALL_NOSYS,
 		.sy_call = (sy_call_t *)(void *)rumpns_enosys,
-	},		/* 503 = filler */
+},		/* 503 = epoll_ctl */
 	{
-		.sy_flags = SYCALL_NOSYS,
 		.sy_call = (sy_call_t *)(void *)rumpns_enosys,
-	},		/* 504 = filler */
+},		/* 504 = epoll_pwait2 */
 	{
 		.sy_flags = SYCALL_NOSYS,
 		.sy_call = (sy_call_t *)(void *)rumpns_enosys,
@@ -8633,7 +8666,7 @@ const uint32_t rump_sysent_nomodbits[] =
 	0x0200fc01,	/* syscalls 320-351 */
 	0x006000f0,	/* syscalls 352-383 */
 	0x007fe338,	/* syscalls 384-415 */
-	0x1c470040,	/* syscalls 416-447 */
+	0x1c4f0040,	/* syscalls 416-447 */
 	0x00000000,	/* syscalls 448-479 */
 	0x00000000,	/* syscalls 480-511 */
 };

Index: src/sys/rump/librump/rumpkern/rumpkern_syscalls.c
diff -u src/sys/rump/librump/rumpkern/rumpkern_syscalls.c:1.7 src/sys/rump/librump/rumpkern/rumpkern_syscalls.c:1.8
--- src/sys/rump/librump/rumpkern/rumpkern_syscalls.c:1.7	Sun Jul  9 22:37:05 2023
+++ src/sys/rump/librump/rumpkern/rumpkern_syscalls.c	Fri Jul 28 14:20:29 2023
@@ -1,9 +1,9 @@
-/*	$NetBSD: rumpkern_syscalls.c,v 1.7 2023/07/10 02:37:05 christos Exp $	*/
+/*	$NetBSD: rumpkern_syscalls.c,v 1.8 2023/07/28 18:20:29 christos Exp $	*/
 
 /* AUTOMATICALLY GENERATED BY makerumpsyscalls.sh */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rumpkern_syscalls.c,v 1.7 2023/07/10 02:37:05 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rumpkern_syscalls.c,v 1.8 2023/07/28 18:20:29 christos Exp $");
 
 #include <sys/param.h>
 
@@ -67,7 +67,6 @@ extern sy_call_t sys___clock_gettime50;
 extern sy_call_t sys___clock_settime50;
 extern sy_call_t sys___clock_getres50;
 extern sy_call_t sys___nanosleep50;
-extern sy_call_t sys___kevent50;
 extern sy_call_t sys___pselect50;
 extern sy_call_t sys___pollts50;
 extern sy_call_t sys___fstat50;
@@ -138,7 +137,6 @@ static const struct rump_onesyscall mysy
 	{ 428,	sys___clock_settime50 },
 	{ 429,	sys___clock_getres50 },
 	{ 430,	sys___nanosleep50 },
-	{ 435,	sys___kevent50 },
 	{ 436,	sys___pselect50 },
 	{ 437,	sys___pollts50 },
 	{ 440,	sys___fstat50 },

Index: src/sys/sys/syscall.h
diff -u src/sys/sys/syscall.h:1.323 src/sys/sys/syscall.h:1.324
--- src/sys/sys/syscall.h:1.323	Fri Jul 28 14:19:01 2023
+++ src/sys/sys/syscall.h	Fri Jul 28 14:20:28 2023
@@ -1,10 +1,10 @@
-/* $NetBSD: syscall.h,v 1.323 2023/07/28 18:19:01 christos Exp $ */
+/* $NetBSD: syscall.h,v 1.324 2023/07/28 18:20:28 christos Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.310 2023/07/10 02:33:04 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.311 2023/07/28 18:19:01 christos Exp
  */
 
 #ifndef _SYS_SYSCALL_H_

Index: src/sys/sys/syscallargs.h
diff -u src/sys/sys/syscallargs.h:1.306 src/sys/sys/syscallargs.h:1.307
--- src/sys/sys/syscallargs.h:1.306	Sun Jul  9 22:37:05 2023
+++ src/sys/sys/syscallargs.h	Fri Jul 28 14:20:28 2023
@@ -1,10 +1,10 @@
-/* $NetBSD: syscallargs.h,v 1.306 2023/07/10 02:37:05 christos Exp $ */
+/* $NetBSD: syscallargs.h,v 1.307 2023/07/28 18:20:28 christos Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.310 2023/07/10 02:33:04 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.311 2023/07/28 18:19:01 christos Exp
  */
 
 #ifndef _SYS_SYSCALLARGS_H_
@@ -2192,9 +2192,9 @@ check_syscall_args(sys_rasctl)
 
 struct compat_50_sys_kevent_args {
 	syscallarg(int) fd;
-	syscallarg(const struct kevent *) changelist;
+	syscallarg(const struct kevent100 *) changelist;
 	syscallarg(size_t) nchanges;
-	syscallarg(struct kevent *) eventlist;
+	syscallarg(struct kevent100 *) eventlist;
 	syscallarg(size_t) nevents;
 	syscallarg(const struct timespec50 *) timeout;
 };
@@ -2836,15 +2836,15 @@ struct compat_60_sys__lwp_park_args {
 check_syscall_args(compat_60_sys__lwp_park)
 #endif /* !RUMP_CLIENT */
 
-struct sys___kevent50_args {
+struct compat_100_sys___kevent50_args {
 	syscallarg(int) fd;
-	syscallarg(const struct kevent *) changelist;
+	syscallarg(const struct kevent100 *) changelist;
 	syscallarg(size_t) nchanges;
-	syscallarg(struct kevent *) eventlist;
+	syscallarg(struct kevent100 *) eventlist;
 	syscallarg(size_t) nevents;
 	syscallarg(const struct timespec *) timeout;
 };
-check_syscall_args(sys___kevent50)
+check_syscall_args(compat_100_sys___kevent50)
 
 struct sys___pselect50_args {
 	syscallarg(int) nd;
@@ -3364,6 +3364,44 @@ struct sys_memfd_create_args {
 check_syscall_args(sys_memfd_create)
 #endif /* !RUMP_CLIENT */
 
+struct sys___kevent100_args {
+	syscallarg(int) fd;
+	syscallarg(const struct kevent *) changelist;
+	syscallarg(size_t) nchanges;
+	syscallarg(struct kevent *) eventlist;
+	syscallarg(size_t) nevents;
+	syscallarg(const struct timespec *) timeout;
+};
+check_syscall_args(sys___kevent100)
+
+#ifndef RUMP_CLIENT
+struct sys_epoll_create1_args {
+	syscallarg(int) flags;
+};
+check_syscall_args(sys_epoll_create1)
+#endif /* !RUMP_CLIENT */
+
+#ifndef RUMP_CLIENT
+struct sys_epoll_ctl_args {
+	syscallarg(int) epfd;
+	syscallarg(int) op;
+	syscallarg(int) fd;
+	syscallarg(struct epoll_event *) event;
+};
+check_syscall_args(sys_epoll_ctl)
+#endif /* !RUMP_CLIENT */
+
+#ifndef RUMP_CLIENT
+struct sys_epoll_pwait2_args {
+	syscallarg(int) epfd;
+	syscallarg(struct epoll_event *) events;
+	syscallarg(int) maxevents;
+	syscallarg(const struct timespec *) timeout;
+	syscallarg(const sigset_t *) sigmask;
+};
+check_syscall_args(sys_epoll_pwait2)
+#endif /* !RUMP_CLIENT */
+
 /*
  * System call prototypes.
  */
@@ -4157,7 +4195,7 @@ int	sys___mq_timedreceive50(struct lwp *
 
 int	compat_60_sys__lwp_park(struct lwp *, const struct compat_60_sys__lwp_park_args *, register_t *);
 
-int	sys___kevent50(struct lwp *, const struct sys___kevent50_args *, register_t *);
+int	compat_100_sys___kevent50(struct lwp *, const struct compat_100_sys___kevent50_args *, register_t *);
 
 int	sys___pselect50(struct lwp *, const struct sys___pselect50_args *, register_t *);
 
@@ -4290,5 +4328,13 @@ int	sys_lpathconf(struct lwp *, const st
 
 int	sys_memfd_create(struct lwp *, const struct sys_memfd_create_args *, register_t *);
 
+int	sys___kevent100(struct lwp *, const struct sys___kevent100_args *, register_t *);
+
+int	sys_epoll_create1(struct lwp *, const struct sys_epoll_create1_args *, register_t *);
+
+int	sys_epoll_ctl(struct lwp *, const struct sys_epoll_ctl_args *, register_t *);
+
+int	sys_epoll_pwait2(struct lwp *, const struct sys_epoll_pwait2_args *, register_t *);
+
 #endif /* !RUMP_CLIENT */
 #endif /* _SYS_SYSCALLARGS_H_ */

Reply via email to