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_ */