Module Name:    src
Committed By:   thorpej
Date:           Sun Jan  3 16:13:07 UTC 2021

Modified Files:
        src/sys/compat/linux32/arch/amd64 [thorpej-futex]: linux32_syscall.h
            linux32_syscallargs.h linux32_syscalls.c linux32_sysent.c
            linux32_systrace_args.c

Log Message:
Regen for preadv(2) and pwritev(2).


To generate a diff of this commit:
cvs rdiff -u -r1.81.2.2 -r1.81.2.3 \
    src/sys/compat/linux32/arch/amd64/linux32_syscall.h \
    src/sys/compat/linux32/arch/amd64/linux32_syscallargs.h \
    src/sys/compat/linux32/arch/amd64/linux32_syscalls.c \
    src/sys/compat/linux32/arch/amd64/linux32_sysent.c
cvs rdiff -u -r1.8.2.2 -r1.8.2.3 \
    src/sys/compat/linux32/arch/amd64/linux32_systrace_args.c

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/linux32/arch/amd64/linux32_syscall.h
diff -u src/sys/compat/linux32/arch/amd64/linux32_syscall.h:1.81.2.2 src/sys/compat/linux32/arch/amd64/linux32_syscall.h:1.81.2.3
--- src/sys/compat/linux32/arch/amd64/linux32_syscall.h:1.81.2.2	Thu Dec 17 03:05:50 2020
+++ src/sys/compat/linux32/arch/amd64/linux32_syscall.h	Sun Jan  3 16:13:07 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: linux32_syscall.h,v 1.81.2.2 2020/12/17 03:05:50 thorpej Exp $ */
+/* $NetBSD: linux32_syscall.h,v 1.81.2.3 2021/01/03 16:13:07 thorpej Exp $ */
 
 /*
  * System call numbers.
@@ -741,6 +741,12 @@
 /* syscall: "pipe2" ret: "int" args: "netbsd32_intp" "int" */
 #define	LINUX32_SYS_pipe2	331
 
+/* syscall: "preadv" ret: "int" args: "int" "const netbsd32_iovecp_t" "int" "netbsd32_u_long" "netbsd32_u_long" */
+#define	LINUX32_SYS_preadv	333
+
+/* syscall: "pwritev" ret: "int" args: "int" "const netbsd32_iovecp_t" "int" "netbsd32_u_long" "netbsd32_u_long" */
+#define	LINUX32_SYS_pwritev	334
+
 #define	LINUX32_SYS_MAXSYSCALL	351
 #define	LINUX32_SYS_NSYSENT	512
 #endif /* _LINUX32_SYS_SYSCALL_H_ */
Index: src/sys/compat/linux32/arch/amd64/linux32_syscallargs.h
diff -u src/sys/compat/linux32/arch/amd64/linux32_syscallargs.h:1.81.2.2 src/sys/compat/linux32/arch/amd64/linux32_syscallargs.h:1.81.2.3
--- src/sys/compat/linux32/arch/amd64/linux32_syscallargs.h:1.81.2.2	Thu Dec 17 03:05:50 2020
+++ src/sys/compat/linux32/arch/amd64/linux32_syscallargs.h	Sun Jan  3 16:13:07 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: linux32_syscallargs.h,v 1.81.2.2 2020/12/17 03:05:50 thorpej Exp $ */
+/* $NetBSD: linux32_syscallargs.h,v 1.81.2.3 2021/01/03 16:13:07 thorpej Exp $ */
 
 /*
  * System call argument lists.
@@ -1077,6 +1077,24 @@ struct linux32_sys_pipe2_args {
 };
 check_syscall_args(linux32_sys_pipe2)
 
+struct linux32_sys_preadv_args {
+	syscallarg(int) fd;
+	syscallarg(const netbsd32_iovecp_t) iovp;
+	syscallarg(int) iovcnt;
+	syscallarg(netbsd32_u_long) off_lo;
+	syscallarg(netbsd32_u_long) off_hi;
+};
+check_syscall_args(linux32_sys_preadv)
+
+struct linux32_sys_pwritev_args {
+	syscallarg(int) fd;
+	syscallarg(const netbsd32_iovecp_t) iovp;
+	syscallarg(int) iovcnt;
+	syscallarg(netbsd32_u_long) off_lo;
+	syscallarg(netbsd32_u_long) off_hi;
+};
+check_syscall_args(linux32_sys_pwritev)
+
 /*
  * System call prototypes.
  */
@@ -1545,4 +1563,8 @@ int	linux32_sys_dup3(struct lwp *, const
 
 int	linux32_sys_pipe2(struct lwp *, const struct linux32_sys_pipe2_args *, register_t *);
 
+int	linux32_sys_preadv(struct lwp *, const struct linux32_sys_preadv_args *, register_t *);
+
+int	linux32_sys_pwritev(struct lwp *, const struct linux32_sys_pwritev_args *, register_t *);
+
 #endif /* _LINUX32_SYS_SYSCALLARGS_H_ */
Index: src/sys/compat/linux32/arch/amd64/linux32_syscalls.c
diff -u src/sys/compat/linux32/arch/amd64/linux32_syscalls.c:1.81.2.2 src/sys/compat/linux32/arch/amd64/linux32_syscalls.c:1.81.2.3
--- src/sys/compat/linux32/arch/amd64/linux32_syscalls.c:1.81.2.2	Thu Dec 17 03:05:50 2020
+++ src/sys/compat/linux32/arch/amd64/linux32_syscalls.c	Sun Jan  3 16:13:07 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: linux32_syscalls.c,v 1.81.2.2 2020/12/17 03:05:50 thorpej Exp $ */
+/* $NetBSD: linux32_syscalls.c,v 1.81.2.3 2021/01/03 16:13:07 thorpej Exp $ */
 
 /*
  * System call names.
@@ -8,7 +8,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux32_syscalls.c,v 1.81.2.2 2020/12/17 03:05:50 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux32_syscalls.c,v 1.81.2.3 2021/01/03 16:13:07 thorpej Exp $");
 
 #if defined(_KERNEL_OPT)
 #include <sys/param.h>
@@ -372,8 +372,8 @@ const char *const linux32_syscallnames[]
 	/* 330 */	"dup3",
 	/* 331 */	"pipe2",
 	/* 332 */	"#332 (unimplemented inotify_init1)",
-	/* 333 */	"#333 (unimplemented preadv)",
-	/* 334 */	"#334 (unimplemented pwritev)",
+	/* 333 */	"preadv",
+	/* 334 */	"pwritev",
 	/* 335 */	"#335 (unimplemented rt_tgsigqueueinfo)",
 	/* 336 */	"#336 (unimplemented perf_counter_open)",
 	/* 337 */	"#337 (unimplemented recvmmsg)",
@@ -891,8 +891,8 @@ const char *const altlinux32_syscallname
 	/* 330 */	NULL, /* dup3 */
 	/* 331 */	NULL, /* pipe2 */
 	/* 332 */	NULL, /* unimplemented inotify_init1 */
-	/* 333 */	NULL, /* unimplemented preadv */
-	/* 334 */	NULL, /* unimplemented pwritev */
+	/* 333 */	NULL, /* preadv */
+	/* 334 */	NULL, /* pwritev */
 	/* 335 */	NULL, /* unimplemented rt_tgsigqueueinfo */
 	/* 336 */	NULL, /* unimplemented perf_counter_open */
 	/* 337 */	NULL, /* unimplemented recvmmsg */
Index: src/sys/compat/linux32/arch/amd64/linux32_sysent.c
diff -u src/sys/compat/linux32/arch/amd64/linux32_sysent.c:1.81.2.2 src/sys/compat/linux32/arch/amd64/linux32_sysent.c:1.81.2.3
--- src/sys/compat/linux32/arch/amd64/linux32_sysent.c:1.81.2.2	Thu Dec 17 03:05:50 2020
+++ src/sys/compat/linux32/arch/amd64/linux32_sysent.c	Sun Jan  3 16:13:07 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: linux32_sysent.c,v 1.81.2.2 2020/12/17 03:05:50 thorpej Exp $ */
+/* $NetBSD: linux32_sysent.c,v 1.81.2.3 2021/01/03 16:13:07 thorpej Exp $ */
 
 /*
  * System call switch table.
@@ -8,7 +8,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux32_sysent.c,v 1.81.2.2 2020/12/17 03:05:50 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux32_sysent.c,v 1.81.2.3 2021/01/03 16:13:07 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/poll.h>
@@ -1265,11 +1265,13 @@ struct sysent linux32_sysent[] = {
 		.sy_call = linux_sys_nosys,
 	},		/* 332 = filler */
 	{
-		.sy_call = linux_sys_nosys,
-	},		/* 333 = filler */
-	{
-		.sy_call = linux_sys_nosys,
-	},		/* 334 = filler */
+		ns(struct linux32_sys_preadv_args),
+		.sy_call = (sy_call_t *)linux32_sys_preadv
+	},		/* 333 = preadv */
+	{
+		ns(struct linux32_sys_pwritev_args),
+		.sy_call = (sy_call_t *)linux32_sys_pwritev
+	},		/* 334 = pwritev */
 	{
 		.sy_call = linux_sys_nosys,
 	},		/* 335 = filler */

Index: src/sys/compat/linux32/arch/amd64/linux32_systrace_args.c
diff -u src/sys/compat/linux32/arch/amd64/linux32_systrace_args.c:1.8.2.2 src/sys/compat/linux32/arch/amd64/linux32_systrace_args.c:1.8.2.3
--- src/sys/compat/linux32/arch/amd64/linux32_systrace_args.c:1.8.2.2	Thu Dec 17 03:05:50 2020
+++ src/sys/compat/linux32/arch/amd64/linux32_systrace_args.c	Sun Jan  3 16:13:07 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: linux32_systrace_args.c,v 1.8.2.2 2020/12/17 03:05:50 thorpej Exp $ */
+/* $NetBSD: linux32_systrace_args.c,v 1.8.2.3 2021/01/03 16:13:07 thorpej Exp $ */
 
 /*
  * System call argument to DTrace register array converstion.
@@ -1956,6 +1956,28 @@ systrace_args(register_t sysnum, const v
 		*n_args = 2;
 		break;
 	}
+	/* linux32_sys_preadv */
+	case 333: {
+		const struct linux32_sys_preadv_args *p = params;
+		iarg[0] = SCARG(p, fd); /* int */
+		uarg[1] = (intptr_t) SCARG(p, iovp).i32; /* const netbsd32_iovecp_t */
+		iarg[2] = SCARG(p, iovcnt); /* int */
+		iarg[3] = SCARG(p, off_lo); /* netbsd32_u_long */
+		iarg[4] = SCARG(p, off_hi); /* netbsd32_u_long */
+		*n_args = 5;
+		break;
+	}
+	/* linux32_sys_pwritev */
+	case 334: {
+		const struct linux32_sys_pwritev_args *p = params;
+		iarg[0] = SCARG(p, fd); /* int */
+		uarg[1] = (intptr_t) SCARG(p, iovp).i32; /* const netbsd32_iovecp_t */
+		iarg[2] = SCARG(p, iovcnt); /* int */
+		iarg[3] = SCARG(p, off_lo); /* netbsd32_u_long */
+		iarg[4] = SCARG(p, off_hi); /* netbsd32_u_long */
+		*n_args = 5;
+		break;
+	}
 	default:
 		*n_args = 0;
 		break;
@@ -5144,6 +5166,50 @@ systrace_entry_setargdesc(int sysnum, in
 			break;
 		};
 		break;
+	/* linux32_sys_preadv */
+	case 333:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "const netbsd32_iovecp_t";
+			break;
+		case 2:
+			p = "int";
+			break;
+		case 3:
+			p = "netbsd32_u_long";
+			break;
+		case 4:
+			p = "netbsd32_u_long";
+			break;
+		default:
+			break;
+		};
+		break;
+	/* linux32_sys_pwritev */
+	case 334:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "const netbsd32_iovecp_t";
+			break;
+		case 2:
+			p = "int";
+			break;
+		case 3:
+			p = "netbsd32_u_long";
+			break;
+		case 4:
+			p = "netbsd32_u_long";
+			break;
+		default:
+			break;
+		};
+		break;
 	default:
 		break;
 	};
@@ -6289,6 +6355,16 @@ systrace_return_setargdesc(int sysnum, i
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* linux32_sys_preadv */
+	case 333:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
+	/* linux32_sys_pwritev */
+	case 334:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	default:
 		break;
 	};

Reply via email to