Module Name: src
Committed By: rin
Date: Sat Oct 10 00:00:54 UTC 2020
Modified Files:
src/sys/compat/netbsd32: netbsd32_netbsd.c syscalls.master
Log Message:
Teach about getrandom(2) to COMPAT_NETBSD32.
To generate a diff of this commit:
cvs rdiff -u -r1.229 -r1.230 src/sys/compat/netbsd32/netbsd32_netbsd.c
cvs rdiff -u -r1.138 -r1.139 src/sys/compat/netbsd32/syscalls.master
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/compat/netbsd32/netbsd32_netbsd.c
diff -u src/sys/compat/netbsd32/netbsd32_netbsd.c:1.229 src/sys/compat/netbsd32/netbsd32_netbsd.c:1.230
--- src/sys/compat/netbsd32/netbsd32_netbsd.c:1.229 Sat May 16 18:31:48 2020
+++ src/sys/compat/netbsd32/netbsd32_netbsd.c Sat Oct 10 00:00:54 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_netbsd.c,v 1.229 2020/05/16 18:31:48 christos Exp $ */
+/* $NetBSD: netbsd32_netbsd.c,v 1.230 2020/10/10 00:00:54 rin Exp $ */
/*
* Copyright (c) 1998, 2001, 2008, 2018 Matthew R. Green
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.229 2020/05/16 18:31:48 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.230 2020/10/10 00:00:54 rin Exp $");
/*
* below are all the standard NetBSD system calls, in the 32bit
@@ -2607,6 +2607,22 @@ netbsd32__pset_bind(struct lwp *l,
return sys__pset_bind(l, &ua, retval);
}
+int
+netbsd32_getrandom(struct lwp *l, const struct netbsd32_getrandom_args *uap,
+ register_t *retval)
+{
+ /* {
+ syscallarg(netbsd32_voidp) buf;
+ syscallarg(netbsd32_size_t) buflen;
+ syscallarg(unsigned) flags;
+ } */
+ struct sys_getrandom_args ua;
+
+ NETBSD32TOP_UAP(buf, void *);
+ NETBSD32TOX_UAP(buflen, size_t);
+ NETBSD32TO64_UAP(flags);
+ return sys_getrandom(l, &ua, retval);
+}
/*
* MI indirect system call support.
Index: src/sys/compat/netbsd32/syscalls.master
diff -u src/sys/compat/netbsd32/syscalls.master:1.138 src/sys/compat/netbsd32/syscalls.master:1.139
--- src/sys/compat/netbsd32/syscalls.master:1.138 Sat May 16 18:31:48 2020
+++ src/sys/compat/netbsd32/syscalls.master Sat Oct 10 00:00:54 2020
@@ -1,4 +1,4 @@
- $NetBSD: syscalls.master,v 1.138 2020/05/16 18:31:48 christos Exp $
+ $NetBSD: syscalls.master,v 1.139 2020/10/10 00:00:54 rin Exp $
; from: NetBSD: syscalls.master,v 1.81 1998/07/05 08:49:50 jonathan Exp
; @(#)syscalls.master 8.2 (Berkeley) 1/13/94
@@ -235,7 +235,9 @@
89 COMPAT_43 MODULAR compat_43 \
{ int|sys||getdtablesize(void); } ogetdtablesize
90 STD { int|netbsd32||dup2(int from, int to); }
-91 UNIMPL getdopt
+91 STD { netbsd32_ssize_t|netbsd32||getrandom( \
+ netbsd32_voidp buf, netbsd32_size_t buflen, \
+ unsigned int flags); }
92 STD { int|netbsd32||fcntl(int fd, int cmd, \
... netbsd32_voidp arg); }
93 COMPAT_50 MODULAR compat_netbsd32_50 \