Module Name: src
Committed By: rin
Date: Sun Jul 30 05:30:45 UTC 2023
Modified Files:
src/sys/compat/netbsd32: netbsd32_netbsd.c syscalls.master
Log Message:
COMPAT_NETBSD32: Add support for memfd_create(2).
To generate a diff of this commit:
cvs rdiff -u -r1.234 -r1.235 src/sys/compat/netbsd32/netbsd32_netbsd.c
cvs rdiff -u -r1.142 -r1.143 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.234 src/sys/compat/netbsd32/netbsd32_netbsd.c:1.235
--- src/sys/compat/netbsd32/netbsd32_netbsd.c:1.234 Sun Jul 30 05:10:47 2023
+++ src/sys/compat/netbsd32/netbsd32_netbsd.c Sun Jul 30 05:30:45 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd32_netbsd.c,v 1.234 2023/07/30 05:10:47 rin Exp $ */
+/* $NetBSD: netbsd32_netbsd.c,v 1.235 2023/07/30 05:30:45 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.234 2023/07/30 05:10:47 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: netbsd32_netbsd.c,v 1.235 2023/07/30 05:30:45 rin Exp $");
/*
* below are all the standard NetBSD system calls, in the 32bit
@@ -2648,6 +2648,21 @@ netbsd32_eventfd(struct lwp *l,
return sys_eventfd(l, &ua, retval);
}
+int
+netbsd32_memfd_create(struct lwp *l,
+ const struct netbsd32_memfd_create_args *uap, register_t *retval)
+{
+ /* {
+ syscallarg(const netbsd32_charp) name;
+ syscallarg(unsigned int) flags;
+ } */
+ struct sys_memfd_create_args ua;
+
+ NETBSD32TOP_UAP(name, const char);
+ NETBSD32TO64_UAP(flags);
+ return sys_memfd_create(l, &ua, retval);
+}
+
/*
* MI indirect system call support.
* Only used if the MD netbsd32_syscall.c doesn't intercept the calls.
Index: src/sys/compat/netbsd32/syscalls.master
diff -u src/sys/compat/netbsd32/syscalls.master:1.142 src/sys/compat/netbsd32/syscalls.master:1.143
--- src/sys/compat/netbsd32/syscalls.master:1.142 Sat Jul 29 12:38:25 2023
+++ src/sys/compat/netbsd32/syscalls.master Sun Jul 30 05:30:45 2023
@@ -1,4 +1,4 @@
- $NetBSD: syscalls.master,v 1.142 2023/07/29 12:38:25 rin Exp $
+ $NetBSD: syscalls.master,v 1.143 2023/07/30 05:30:45 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
@@ -1214,7 +1214,8 @@
acl_type_t type, netbsd32_aclp_t aclp); }
499 STD { long|netbsd32||lpathconf(const netbsd32_charp path, \
int name); }
-500 UNIMPL memfd_create
+500 STD { int|netbsd32||memfd_create( \
+ const netbsd32_charp name, unsigned int flags); }
501 STD { int|netbsd32|100|kevent(int fd, \
const netbsd32_keventp_t changelist, \
netbsd32_size_t nchanges, \