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