Module Name:    src
Committed By:   riastradh
Date:           Fri Aug 14 00:55:03 UTC 2020

Modified Files:
        src/sys/kern: init_sysent.c syscalls.c systrace_args.c
        src/sys/rump: rump.sysmap
        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.335 -r1.336 src/sys/kern/init_sysent.c
cvs rdiff -u -r1.323 -r1.324 src/sys/kern/syscalls.c
cvs rdiff -u -r1.42 -r1.43 src/sys/kern/systrace_args.c
cvs rdiff -u -r1.7 -r1.8 src/sys/rump/rump.sysmap
cvs rdiff -u -r1.122 -r1.123 src/sys/rump/include/rump/rump_syscalls.h
cvs rdiff -u -r1.153 -r1.154 src/sys/rump/librump/rumpkern/rump_syscalls.c
cvs rdiff -u -r1.317 -r1.318 src/sys/sys/syscall.h
cvs rdiff -u -r1.301 -r1.302 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.335 src/sys/kern/init_sysent.c:1.336
--- src/sys/kern/init_sysent.c:1.335	Thu Jun 11 03:45:30 2020
+++ src/sys/kern/init_sysent.c	Fri Aug 14 00:55:02 2020
@@ -1,14 +1,14 @@
-/* $NetBSD: init_sysent.c,v 1.335 2020/06/11 03:45:30 dholland Exp $ */
+/* $NetBSD: init_sysent.c,v 1.336 2020/08/14 00:55:02 riastradh Exp $ */
 
 /*
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.305 2020/05/16 18:31:50 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.306 2020/08/14 00:53:16 riastradh Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: init_sysent.c,v 1.335 2020/06/11 03:45:30 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: init_sysent.c,v 1.336 2020/08/14 00:55:02 riastradh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_modular.h"
@@ -530,8 +530,10 @@ struct sysent sysent[] = {
 		.sy_call = (sy_call_t *)sys_dup2
 	},		/* 90 = dup2 */
 	{
-		.sy_call = sys_nosys,
-	},		/* 91 = filler */
+		ns(struct sys_getrandom_args),
+		.sy_flags = SYCALL_ARG_PTR,
+		.sy_call = (sy_call_t *)sys_getrandom
+	},		/* 91 = getrandom */
 	{
 		ns(struct sys_fcntl_args),
 		.sy_flags = SYCALL_ARG_PTR,

Index: src/sys/kern/syscalls.c
diff -u src/sys/kern/syscalls.c:1.323 src/sys/kern/syscalls.c:1.324
--- src/sys/kern/syscalls.c:1.323	Thu Jun 11 03:45:30 2020
+++ src/sys/kern/syscalls.c	Fri Aug 14 00:55:02 2020
@@ -1,14 +1,14 @@
-/* $NetBSD: syscalls.c,v 1.323 2020/06/11 03:45:30 dholland Exp $ */
+/* $NetBSD: syscalls.c,v 1.324 2020/08/14 00:55:02 riastradh Exp $ */
 
 /*
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.305 2020/05/16 18:31:50 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.306 2020/08/14 00:53:16 riastradh Exp
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: syscalls.c,v 1.323 2020/06/11 03:45:30 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: syscalls.c,v 1.324 2020/08/14 00:55:02 riastradh Exp $");
 
 #if defined(_KERNEL_OPT)
 #ifdef _KERNEL_OPT
@@ -121,7 +121,7 @@ const char *const syscallnames[] = {
 	/*  88 */	"compat_43_osethostname",
 	/*  89 */	"compat_43_ogetdtablesize",
 	/*  90 */	"dup2",
-	/*  91 */	"#91 (unimplemented getdopt)",
+	/*  91 */	"getrandom",
 	/*  92 */	"fcntl",
 	/*  93 */	"compat_50_select",
 	/*  94 */	"#94 (unimplemented setdopt)",
@@ -658,7 +658,7 @@ const char *const altsyscallnames[] = {
 	/*  88 */	NULL, /* compat_43_osethostname */
 	/*  89 */	NULL, /* compat_43_ogetdtablesize */
 	/*  90 */	NULL, /* dup2 */
-	/*  91 */	NULL, /* unimplemented getdopt */
+	/*  91 */	NULL, /* getrandom */
 	/*  92 */	NULL, /* fcntl */
 	/*  93 */	NULL, /* compat_50_select */
 	/*  94 */	NULL, /* unimplemented setdopt */

Index: src/sys/kern/systrace_args.c
diff -u src/sys/kern/systrace_args.c:1.42 src/sys/kern/systrace_args.c:1.43
--- src/sys/kern/systrace_args.c:1.42	Thu Jun 11 03:45:30 2020
+++ src/sys/kern/systrace_args.c	Fri Aug 14 00:55:02 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: systrace_args.c,v 1.42 2020/06/11 03:45:30 dholland Exp $ */
+/* $NetBSD: systrace_args.c,v 1.43 2020/08/14 00:55:02 riastradh Exp $ */
 
 /*
  * System call argument to DTrace register array converstion.
@@ -663,6 +663,15 @@ systrace_args(register_t sysnum, const v
 		*n_args = 2;
 		break;
 	}
+	/* sys_getrandom */
+	case 91: {
+		const struct sys_getrandom_args *p = params;
+		uarg[0] = (intptr_t) SCARG(p, buf); /* void * */
+		uarg[1] = SCARG(p, buflen); /* size_t */
+		uarg[2] = SCARG(p, flags); /* unsigned int */
+		*n_args = 3;
+		break;
+	}
 	/* sys_fcntl */
 	case 92: {
 		const struct sys_fcntl_args *p = params;
@@ -4868,6 +4877,22 @@ systrace_entry_setargdesc(int sysnum, in
 			break;
 		};
 		break;
+	/* sys_getrandom */
+	case 91:
+		switch(ndx) {
+		case 0:
+			p = "void *";
+			break;
+		case 1:
+			p = "size_t";
+			break;
+		case 2:
+			p = "unsigned int";
+			break;
+		default:
+			break;
+		};
+		break;
 	/* sys_fcntl */
 	case 92:
 		switch(ndx) {
@@ -10761,6 +10786,11 @@ systrace_return_setargdesc(int sysnum, i
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* sys_getrandom */
+	case 91:
+		if (ndx == 0 || ndx == 1)
+			p = "ssize_t";
+		break;
 	/* sys_fcntl */
 	case 92:
 		if (ndx == 0 || ndx == 1)

Index: src/sys/rump/rump.sysmap
diff -u src/sys/rump/rump.sysmap:1.7 src/sys/rump/rump.sysmap:1.8
--- src/sys/rump/rump.sysmap:1.7	Sat May 16 18:31:52 2020
+++ src/sys/rump/rump.sysmap	Fri Aug 14 00:55:03 2020
@@ -43,6 +43,7 @@
 81   sys_getpgrp            getpgrp            rump___sysimpl_getpgrp
 82   sys_setpgid            setpgid            rump___sysimpl_setpgid
 90   sys_dup2               dup2               rump___sysimpl_dup2
+91   sys_getrandom          getrandom          rump___sysimpl_getrandom
 92   sys_fcntl              fcntl              rump___sysimpl_fcntl
 93   sys_nomodule           select             rump___sysimpl_select
 95   sys_fsync              fsync              rump___sysimpl_fsync

Index: src/sys/rump/include/rump/rump_syscalls.h
diff -u src/sys/rump/include/rump/rump_syscalls.h:1.122 src/sys/rump/include/rump/rump_syscalls.h:1.123
--- src/sys/rump/include/rump/rump_syscalls.h:1.122	Thu Jun 11 03:45:30 2020
+++ src/sys/rump/include/rump/rump_syscalls.h	Fri Aug 14 00:55:03 2020
@@ -1,10 +1,10 @@
-/* $NetBSD: rump_syscalls.h,v 1.122 2020/06/11 03:45:30 dholland Exp $ */
+/* $NetBSD: rump_syscalls.h,v 1.123 2020/08/14 00:55:03 riastradh Exp $ */
 
 /*
  * System call protos in rump namespace.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.305 2020/05/16 18:31:50 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.306 2020/08/14 00:53:16 riastradh Exp
  */
 
 #ifndef _RUMP_RUMP_SYSCALLS_H_
@@ -408,6 +408,10 @@
 #define RUMP_SYS_RENAME_GETPPID rump___sysimpl_getppid
 #endif
 
+#ifndef RUMP_SYS_RENAME_GETRANDOM
+#define RUMP_SYS_RENAME_GETRANDOM rump___sysimpl_getrandom
+#endif
+
 #ifndef RUMP_SYS_RENAME_GETRLIMIT
 #define RUMP_SYS_RENAME_GETRLIMIT rump___sysimpl_getrlimit
 #endif
@@ -904,6 +908,7 @@ int rump_sys_setgroups(int, const gid_t 
 int rump_sys_getpgrp(void) __RENAME(RUMP_SYS_RENAME_GETPGRP);
 int rump_sys_setpgid(pid_t, pid_t) __RENAME(RUMP_SYS_RENAME_SETPGID);
 int rump_sys_dup2(int, int) __RENAME(RUMP_SYS_RENAME_DUP2);
+ssize_t rump_sys_getrandom(void *, size_t, unsigned int) __RENAME(RUMP_SYS_RENAME_GETRANDOM);
 int rump_sys_fcntl(int, int, ...) __RENAME(RUMP_SYS_RENAME_FCNTL);
 int rump_sys_select(int, fd_set *, fd_set *, fd_set *, struct timeval *) __RENAME(RUMP_SYS_RENAME_SELECT);
 int rump_sys_fsync(int) __RENAME(RUMP_SYS_RENAME_FSYNC);

Index: src/sys/rump/librump/rumpkern/rump_syscalls.c
diff -u src/sys/rump/librump/rumpkern/rump_syscalls.c:1.153 src/sys/rump/librump/rumpkern/rump_syscalls.c:1.154
--- src/sys/rump/librump/rumpkern/rump_syscalls.c:1.153	Thu Jun 11 03:45:30 2020
+++ src/sys/rump/librump/rumpkern/rump_syscalls.c	Fri Aug 14 00:55:03 2020
@@ -1,10 +1,10 @@
-/* $NetBSD: rump_syscalls.c,v 1.153 2020/06/11 03:45:30 dholland Exp $ */
+/* $NetBSD: rump_syscalls.c,v 1.154 2020/08/14 00:55:03 riastradh Exp $ */
 
 /*
  * System call vector and marshalling for rump.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.305 2020/05/16 18:31:50 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.306 2020/08/14 00:53:16 riastradh Exp
  */
 
 #ifdef RUMP_CLIENT
@@ -15,7 +15,7 @@
 
 #ifdef __NetBSD__
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rump_syscalls.c,v 1.153 2020/06/11 03:45:30 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rump_syscalls.c,v 1.154 2020/08/14 00:55:03 riastradh Exp $");
 
 #include <sys/fstypes.h>
 #include <sys/proc.h>
@@ -1275,6 +1275,36 @@ __weak_alias(_dup2,rump___sysimpl_dup2);
 __strong_alias(_sys_dup2,rump___sysimpl_dup2);
 #endif /* RUMP_KERNEL_IS_LIBC */
 
+ssize_t rump___sysimpl_getrandom(void *, size_t, unsigned int);
+ssize_t
+rump___sysimpl_getrandom(void * buf, size_t buflen, unsigned int flags)
+{
+	register_t retval[2];
+	int error = 0;
+	ssize_t rv = -1;
+	struct sys_getrandom_args callarg;
+
+	memset(&callarg, 0, sizeof(callarg));
+	SPARG(&callarg, buf) = buf;
+	SPARG(&callarg, buflen) = buflen;
+	SPARG(&callarg, flags) = flags;
+
+	error = rsys_syscall(SYS_getrandom, &callarg, sizeof(callarg), retval);
+	rsys_seterrno(error);
+	if (error == 0) {
+		if (sizeof(ssize_t) > sizeof(register_t))
+			rv = *(ssize_t *)retval;
+		else
+			rv = *retval;
+	}
+	return rv;
+}
+#ifdef RUMP_KERNEL_IS_LIBC
+__weak_alias(getrandom,rump___sysimpl_getrandom);
+__weak_alias(_getrandom,rump___sysimpl_getrandom);
+__strong_alias(_sys_getrandom,rump___sysimpl_getrandom);
+#endif /* RUMP_KERNEL_IS_LIBC */
+
 int rump___sysimpl_fcntl(int, int, void *);
 int
 rump___sysimpl_fcntl(int fd, int cmd, void * arg)
@@ -6923,9 +6953,9 @@ struct sysent rump_sysent[] = {
 		.sy_call = (sy_call_t *)(void *)rumpns_enosys,
 	},		/* 90 = dup2 */
 	{
-		.sy_flags = SYCALL_NOSYS,
+		ns(struct sys_getrandom_args),
 		.sy_call = (sy_call_t *)(void *)rumpns_enosys,
-	},		/* 91 = filler */
+	},		/* 91 = getrandom */
 	{
 		ns(struct sys_fcntl_args),
 		.sy_call = (sy_call_t *)(void *)rumpns_enosys,

Index: src/sys/sys/syscall.h
diff -u src/sys/sys/syscall.h:1.317 src/sys/sys/syscall.h:1.318
--- src/sys/sys/syscall.h:1.317	Thu Jun 11 03:45:30 2020
+++ src/sys/sys/syscall.h	Fri Aug 14 00:55:03 2020
@@ -1,10 +1,10 @@
-/* $NetBSD: syscall.h,v 1.317 2020/06/11 03:45:30 dholland Exp $ */
+/* $NetBSD: syscall.h,v 1.318 2020/08/14 00:55:03 riastradh Exp $ */
 
 /*
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.305 2020/05/16 18:31:50 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.306 2020/08/14 00:53:16 riastradh Exp
  */
 
 #ifndef _SYS_SYSCALL_H_
@@ -271,6 +271,9 @@
 /* syscall: "dup2" ret: "int" args: "int" "int" */
 #define	SYS_dup2	90
 
+/* syscall: "getrandom" ret: "ssize_t" args: "void *" "size_t" "unsigned int" */
+#define	SYS_getrandom	91
+
 /* syscall: "fcntl" ret: "int" args: "int" "int" "..." */
 #define	SYS_fcntl	92
 

Index: src/sys/sys/syscallargs.h
diff -u src/sys/sys/syscallargs.h:1.301 src/sys/sys/syscallargs.h:1.302
--- src/sys/sys/syscallargs.h:1.301	Thu Jun 11 03:45:30 2020
+++ src/sys/sys/syscallargs.h	Fri Aug 14 00:55:03 2020
@@ -1,10 +1,10 @@
-/* $NetBSD: syscallargs.h,v 1.301 2020/06/11 03:45:30 dholland Exp $ */
+/* $NetBSD: syscallargs.h,v 1.302 2020/08/14 00:55:03 riastradh Exp $ */
 
 /*
  * System call argument lists.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * created from	NetBSD: syscalls.master,v 1.305 2020/05/16 18:31:50 christos Exp
+ * created from	NetBSD: syscalls.master,v 1.306 2020/08/14 00:53:16 riastradh Exp
  */
 
 #ifndef _SYS_SYSCALLARGS_H_
@@ -546,6 +546,13 @@ struct sys_dup2_args {
 };
 check_syscall_args(sys_dup2)
 
+struct sys_getrandom_args {
+	syscallarg(void *) buf;
+	syscallarg(size_t) buflen;
+	syscallarg(unsigned int) flags;
+};
+check_syscall_args(sys_getrandom)
+
 struct sys_fcntl_args {
 	syscallarg(int) fd;
 	syscallarg(int) cmd;
@@ -3490,6 +3497,8 @@ int	compat_43_sys_getdtablesize(struct l
 
 int	sys_dup2(struct lwp *, const struct sys_dup2_args *, register_t *);
 
+int	sys_getrandom(struct lwp *, const struct sys_getrandom_args *, register_t *);
+
 int	sys_fcntl(struct lwp *, const struct sys_fcntl_args *, register_t *);
 
 int	compat_50_sys_select(struct lwp *, const struct compat_50_sys_select_args *, register_t *);

Reply via email to