Module Name: src Committed By: rjs Date: Tue Jul 31 13:02:15 UTC 2018
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 src/sys/sys: syscall.h syscallargs.h Log Message: regen. To generate a diff of this commit: cvs rdiff -u -r1.320 -r1.321 src/sys/kern/init_sysent.c cvs rdiff -u -r1.311 -r1.312 src/sys/kern/syscalls.c cvs rdiff -u -r1.27 -r1.28 src/sys/kern/syscalls_autoload.c cvs rdiff -u -r1.30 -r1.31 src/sys/kern/systrace_args.c cvs rdiff -u -r1.109 -r1.110 src/sys/rump/include/rump/rump_syscalls.h cvs rdiff -u -r1.138 -r1.139 src/sys/rump/librump/rumpkern/rump_syscalls.c cvs rdiff -u -r1.305 -r1.306 src/sys/sys/syscall.h cvs rdiff -u -r1.289 -r1.290 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.320 src/sys/kern/init_sysent.c:1.321 --- src/sys/kern/init_sysent.c:1.320 Thu Jul 12 10:46:48 2018 +++ src/sys/kern/init_sysent.c Tue Jul 31 13:02:15 2018 @@ -1,14 +1,14 @@ -/* $NetBSD: init_sysent.c,v 1.320 2018/07/12 10:46:48 maxv Exp $ */ +/* $NetBSD: init_sysent.c,v 1.321 2018/07/31 13:02:15 rjs Exp $ */ /* * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.291 2018/01/06 16:41:23 kamil Exp + * created from NetBSD: syscalls.master,v 1.293 2018/07/31 13:00:13 rjs Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: init_sysent.c,v 1.320 2018/07/12 10:46:48 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: init_sysent.c,v 1.321 2018/07/31 13:02:15 rjs Exp $"); #include "opt_modular.h" #include "opt_ntp.h" @@ -979,8 +979,10 @@ struct sysent sysent[] = { .sy_call = (sy_call_t *)sys_fpathconf }, /* 192 = fpathconf */ { - .sy_call = sys_nosys, - }, /* 193 = filler */ + ns(struct sys_getsockopt2_args), + .sy_flags = SYCALL_ARG_PTR, + .sy_call = (sy_call_t *)sys_getsockopt2 + }, /* 193 = getsockopt2 */ { ns(struct sys_getrlimit_args), .sy_flags = SYCALL_ARG_PTR, Index: src/sys/kern/syscalls.c diff -u src/sys/kern/syscalls.c:1.311 src/sys/kern/syscalls.c:1.312 --- src/sys/kern/syscalls.c:1.311 Thu Jul 12 10:46:48 2018 +++ src/sys/kern/syscalls.c Tue Jul 31 13:02:15 2018 @@ -1,14 +1,14 @@ -/* $NetBSD: syscalls.c,v 1.311 2018/07/12 10:46:48 maxv Exp $ */ +/* $NetBSD: syscalls.c,v 1.312 2018/07/31 13:02:15 rjs Exp $ */ /* * System call names. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.291 2018/01/06 16:41:23 kamil Exp + * created from NetBSD: syscalls.master,v 1.293 2018/07/31 13:00:13 rjs Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: syscalls.c,v 1.311 2018/07/12 10:46:48 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: syscalls.c,v 1.312 2018/07/31 13:02:15 rjs Exp $"); #if defined(_KERNEL_OPT) #include "opt_modular.h" @@ -236,7 +236,7 @@ const char *const syscallnames[] = { /* 190 */ "compat_12_lstat12", /* 191 */ "pathconf", /* 192 */ "fpathconf", - /* 193 */ "#193 (unimplemented)", + /* 193 */ "getsockopt2", /* 194 */ "getrlimit", /* 195 */ "setrlimit", /* 196 */ "compat_12_getdirentries", @@ -773,7 +773,7 @@ const char *const altsyscallnames[] = { /* 190 */ NULL, /* compat_12_lstat12 */ /* 191 */ NULL, /* pathconf */ /* 192 */ NULL, /* fpathconf */ - /* 193 */ NULL, /* unimplemented */ + /* 193 */ NULL, /* getsockopt2 */ /* 194 */ NULL, /* getrlimit */ /* 195 */ NULL, /* setrlimit */ /* 196 */ NULL, /* compat_12_getdirentries */ Index: src/sys/kern/syscalls_autoload.c diff -u src/sys/kern/syscalls_autoload.c:1.27 src/sys/kern/syscalls_autoload.c:1.28 --- src/sys/kern/syscalls_autoload.c:1.27 Sat Jan 6 16:41:23 2018 +++ src/sys/kern/syscalls_autoload.c Tue Jul 31 13:02:15 2018 @@ -1,14 +1,14 @@ -/* $NetBSD: syscalls_autoload.c,v 1.27 2018/01/06 16:41:23 kamil Exp $ */ +/* $NetBSD: syscalls_autoload.c,v 1.28 2018/07/31 13:02:15 rjs Exp $ */ /* * System call autoload table. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.287 2017/12/08 01:19:29 christos Exp + * created from NetBSD: syscalls.master,v 1.293 2018/07/31 13:00:13 rjs Exp */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: syscalls_autoload.c,v 1.27 2018/01/06 16:41:23 kamil Exp $"); +__KERNEL_RCSID(0, "$NetBSD: syscalls_autoload.c,v 1.28 2018/07/31 13:02:15 rjs Exp $"); #include <sys/proc.h> static struct sc_autoload netbsd_syscalls_autoload[] = { Index: src/sys/kern/systrace_args.c diff -u src/sys/kern/systrace_args.c:1.30 src/sys/kern/systrace_args.c:1.31 --- src/sys/kern/systrace_args.c:1.30 Thu Jul 12 10:46:48 2018 +++ src/sys/kern/systrace_args.c Tue Jul 31 13:02:15 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: systrace_args.c,v 1.30 2018/07/12 10:46:48 maxv Exp $ */ +/* $NetBSD: systrace_args.c,v 1.31 2018/07/31 13:02:15 rjs Exp $ */ /* * System call argument to DTrace register array converstion. @@ -1367,6 +1367,17 @@ systrace_args(register_t sysnum, const v *n_args = 2; break; } + /* sys_getsockopt2 */ + case 193: { + const struct sys_getsockopt2_args *p = params; + iarg[0] = SCARG(p, s); /* int */ + iarg[1] = SCARG(p, level); /* int */ + iarg[2] = SCARG(p, name); /* int */ + uarg[3] = (intptr_t) SCARG(p, val); /* void * */ + uarg[4] = (intptr_t) SCARG(p, avalsize); /* socklen_t * */ + *n_args = 5; + break; + } /* sys_getrlimit */ case 194: { const struct sys_getrlimit_args *p = params; @@ -5860,6 +5871,28 @@ systrace_entry_setargdesc(int sysnum, in break; }; break; + /* sys_getsockopt2 */ + case 193: + switch(ndx) { + case 0: + p = "int"; + break; + case 1: + p = "int"; + break; + case 2: + p = "int"; + break; + case 3: + p = "void *"; + break; + case 4: + p = "socklen_t *"; + break; + default: + break; + }; + break; /* sys_getrlimit */ case 194: switch(ndx) { @@ -10641,6 +10674,11 @@ systrace_return_setargdesc(int sysnum, i if (ndx == 0 || ndx == 1) p = "long"; break; + /* sys_getsockopt2 */ + case 193: + if (ndx == 0 || ndx == 1) + p = "int"; + break; /* sys_getrlimit */ case 194: if (ndx == 0 || ndx == 1) Index: src/sys/rump/include/rump/rump_syscalls.h diff -u src/sys/rump/include/rump/rump_syscalls.h:1.109 src/sys/rump/include/rump/rump_syscalls.h:1.110 --- src/sys/rump/include/rump/rump_syscalls.h:1.109 Thu Jul 12 10:46:48 2018 +++ src/sys/rump/include/rump/rump_syscalls.h Tue Jul 31 13:02:15 2018 @@ -1,10 +1,10 @@ -/* $NetBSD: rump_syscalls.h,v 1.109 2018/07/12 10:46:48 maxv Exp $ */ +/* $NetBSD: rump_syscalls.h,v 1.110 2018/07/31 13:02:15 rjs Exp $ */ /* * System call protos in rump namespace. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.291 2018/01/06 16:41:23 kamil Exp + * created from NetBSD: syscalls.master,v 1.293 2018/07/31 13:00:13 rjs Exp */ #ifndef _RUMP_RUMP_SYSCALLS_H_ @@ -820,6 +820,10 @@ #define RUMP_SYS_RENAME_GETPPID rump___sysimpl_getppid #endif +#ifndef RUMP_SYS_RENAME_GETSOCKOPT2 +#define RUMP_SYS_RENAME_GETSOCKOPT2 rump___sysimpl_getsockopt2 +#endif + #ifndef RUMP_SYS_RENAME_GETTIMEOFDAY #define RUMP_SYS_RENAME_GETTIMEOFDAY rump___sysimpl_gettimeofday50 #endif @@ -928,6 +932,7 @@ int rump_sys_setegid(gid_t) __RENAME(RUM int rump_sys_seteuid(uid_t) __RENAME(RUMP_SYS_RENAME_SETEUID); long rump_sys_pathconf(const char *, int) __RENAME(RUMP_SYS_RENAME_PATHCONF); long rump_sys_fpathconf(int, int) __RENAME(RUMP_SYS_RENAME_FPATHCONF); +int rump_sys_getsockopt2(int, int, int, void *, socklen_t *) __RENAME(RUMP_SYS_RENAME_GETSOCKOPT2); int rump_sys_getrlimit(int, struct rlimit *) __RENAME(RUMP_SYS_RENAME_GETRLIMIT); int rump_sys_setrlimit(int, const struct rlimit *) __RENAME(RUMP_SYS_RENAME_SETRLIMIT); off_t rump_sys_lseek(int, off_t, int) __RENAME(RUMP_SYS_RENAME_LSEEK); Index: src/sys/rump/librump/rumpkern/rump_syscalls.c diff -u src/sys/rump/librump/rumpkern/rump_syscalls.c:1.138 src/sys/rump/librump/rumpkern/rump_syscalls.c:1.139 --- src/sys/rump/librump/rumpkern/rump_syscalls.c:1.138 Thu Jul 12 10:46:48 2018 +++ src/sys/rump/librump/rumpkern/rump_syscalls.c Tue Jul 31 13:02:15 2018 @@ -1,10 +1,10 @@ -/* $NetBSD: rump_syscalls.c,v 1.138 2018/07/12 10:46:48 maxv Exp $ */ +/* $NetBSD: rump_syscalls.c,v 1.139 2018/07/31 13:02:15 rjs Exp $ */ /* * System call vector and marshalling for rump. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.291 2018/01/06 16:41:23 kamil Exp + * created from NetBSD: syscalls.master,v 1.293 2018/07/31 13:00:13 rjs Exp */ #ifdef RUMP_CLIENT @@ -15,7 +15,7 @@ #ifdef __NetBSD__ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: rump_syscalls.c,v 1.138 2018/07/12 10:46:48 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rump_syscalls.c,v 1.139 2018/07/31 13:02:15 rjs Exp $"); #include <sys/fstypes.h> #include <sys/proc.h> @@ -2224,6 +2224,38 @@ __weak_alias(_fpathconf,rump___sysimpl_f __strong_alias(_sys_fpathconf,rump___sysimpl_fpathconf); #endif /* RUMP_KERNEL_IS_LIBC */ +int rump___sysimpl_getsockopt2(int, int, int, void *, socklen_t *); +int +rump___sysimpl_getsockopt2(int s, int level, int name, void * val, socklen_t * avalsize) +{ + register_t retval[2]; + int error = 0; + int rv = -1; + struct sys_getsockopt2_args callarg; + + memset(&callarg, 0, sizeof(callarg)); + SPARG(&callarg, s) = s; + SPARG(&callarg, level) = level; + SPARG(&callarg, name) = name; + SPARG(&callarg, val) = val; + SPARG(&callarg, avalsize) = avalsize; + + error = rsys_syscall(SYS_getsockopt2, &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(getsockopt2,rump___sysimpl_getsockopt2); +__weak_alias(_getsockopt2,rump___sysimpl_getsockopt2); +__strong_alias(_sys_getsockopt2,rump___sysimpl_getsockopt2); +#endif /* RUMP_KERNEL_IS_LIBC */ + int rump___sysimpl_getrlimit(int, struct rlimit *); int rump___sysimpl_getrlimit(int which, struct rlimit * rlp) @@ -7289,9 +7321,9 @@ struct sysent rump_sysent[] = { .sy_call = (sy_call_t *)rumpns_enosys, }, /* 192 = fpathconf */ { - .sy_flags = SYCALL_NOSYS, + ns(struct sys_getsockopt2_args), .sy_call = (sy_call_t *)rumpns_enosys, - }, /* 193 = filler */ + }, /* 193 = getsockopt2 */ { ns(struct sys_getrlimit_args), .sy_call = (sy_call_t *)rumpns_enosys, Index: src/sys/sys/syscall.h diff -u src/sys/sys/syscall.h:1.305 src/sys/sys/syscall.h:1.306 --- src/sys/sys/syscall.h:1.305 Thu Jul 12 10:46:48 2018 +++ src/sys/sys/syscall.h Tue Jul 31 13:02:15 2018 @@ -1,10 +1,10 @@ -/* $NetBSD: syscall.h,v 1.305 2018/07/12 10:46:48 maxv Exp $ */ +/* $NetBSD: syscall.h,v 1.306 2018/07/31 13:02:15 rjs Exp $ */ /* * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.291 2018/01/06 16:41:23 kamil Exp + * created from NetBSD: syscalls.master,v 1.293 2018/07/31 13:00:13 rjs Exp */ #ifndef _SYS_SYSCALL_H_ @@ -537,6 +537,9 @@ /* syscall: "fpathconf" ret: "long" args: "int" "int" */ #define SYS_fpathconf 192 +/* syscall: "getsockopt2" ret: "int" args: "int" "int" "int" "void *" "socklen_t *" */ +#define SYS_getsockopt2 193 + /* syscall: "getrlimit" ret: "int" args: "int" "struct rlimit *" */ #define SYS_getrlimit 194 Index: src/sys/sys/syscallargs.h diff -u src/sys/sys/syscallargs.h:1.289 src/sys/sys/syscallargs.h:1.290 --- src/sys/sys/syscallargs.h:1.289 Thu Jul 12 10:46:48 2018 +++ src/sys/sys/syscallargs.h Tue Jul 31 13:02:15 2018 @@ -1,10 +1,10 @@ -/* $NetBSD: syscallargs.h,v 1.289 2018/07/12 10:46:48 maxv Exp $ */ +/* $NetBSD: syscallargs.h,v 1.290 2018/07/31 13:02:15 rjs Exp $ */ /* * System call argument lists. * * DO NOT EDIT-- this file is automatically generated. - * created from NetBSD: syscalls.master,v 1.291 2018/01/06 16:41:23 kamil Exp + * created from NetBSD: syscalls.master,v 1.293 2018/07/31 13:00:13 rjs Exp */ #ifndef _SYS_SYSCALLARGS_H_ @@ -1172,6 +1172,15 @@ struct sys_fpathconf_args { }; check_syscall_args(sys_fpathconf) +struct sys_getsockopt2_args { + syscallarg(int) s; + syscallarg(int) level; + syscallarg(int) name; + syscallarg(void *) val; + syscallarg(socklen_t *) avalsize; +}; +check_syscall_args(sys_getsockopt2) + struct sys_getrlimit_args { syscallarg(int) which; syscallarg(struct rlimit *) rlp; @@ -3478,6 +3487,8 @@ int sys_pathconf(struct lwp *, const str int sys_fpathconf(struct lwp *, const struct sys_fpathconf_args *, register_t *); +int sys_getsockopt2(struct lwp *, const struct sys_getsockopt2_args *, register_t *); + int sys_getrlimit(struct lwp *, const struct sys_getrlimit_args *, register_t *); int sys_setrlimit(struct lwp *, const struct sys_setrlimit_args *, register_t *);