Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Jul 2019 05:55:56 +0000 (UTC)
From:      Rick Macklem <rmacklem@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r350316 - in head/sys: kern sys
Message-ID:  <201907250555.x6P5tuKZ082840@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rmacklem
Date: Thu Jul 25 05:55:55 2019
New Revision: 350316
URL: https://svnweb.freebsd.org/changeset/base/350316

Log:
  Update the generated syscall files for copy_file_range(2) added by
  r350315.

Modified:
  head/sys/kern/init_sysent.c
  head/sys/kern/syscalls.c
  head/sys/kern/systrace_args.c
  head/sys/sys/syscall.h
  head/sys/sys/sysproto.h

Modified: head/sys/kern/init_sysent.c
==============================================================================
--- head/sys/kern/init_sysent.c	Thu Jul 25 05:46:16 2019	(r350315)
+++ head/sys/kern/init_sysent.c	Thu Jul 25 05:55:55 2019	(r350316)
@@ -618,4 +618,5 @@ struct sysent sysent[] = {
 	{ AS(fhlinkat_args), (sy_call_t *)sys_fhlinkat, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },	/* 566 = fhlinkat */
 	{ AS(fhreadlink_args), (sy_call_t *)sys_fhreadlink, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },	/* 567 = fhreadlink */
 	{ AS(funlinkat_args), (sy_call_t *)sys_funlinkat, AUE_UNLINKAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC },	/* 568 = funlinkat */
+	{ AS(copy_file_range_args), (sy_call_t *)sys_copy_file_range, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC },	/* 569 = copy_file_range */
 };

Modified: head/sys/kern/syscalls.c
==============================================================================
--- head/sys/kern/syscalls.c	Thu Jul 25 05:46:16 2019	(r350315)
+++ head/sys/kern/syscalls.c	Thu Jul 25 05:55:55 2019	(r350316)
@@ -575,4 +575,5 @@ const char *syscallnames[] = {
 	"fhlinkat",			/* 566 = fhlinkat */
 	"fhreadlink",			/* 567 = fhreadlink */
 	"funlinkat",			/* 568 = funlinkat */
+	"copy_file_range",			/* 569 = copy_file_range */
 };

Modified: head/sys/kern/systrace_args.c
==============================================================================
--- head/sys/kern/systrace_args.c	Thu Jul 25 05:46:16 2019	(r350315)
+++ head/sys/kern/systrace_args.c	Thu Jul 25 05:55:55 2019	(r350316)
@@ -3312,6 +3312,18 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
 		*n_args = 4;
 		break;
 	}
+	/* copy_file_range */
+	case 569: {
+		struct copy_file_range_args *p = params;
+		iarg[0] = p->infd; /* int */
+		uarg[1] = (intptr_t) p->inoffp; /* off_t * */
+		iarg[2] = p->outfd; /* int */
+		uarg[3] = (intptr_t) p->outoffp; /* off_t * */
+		uarg[4] = p->len; /* size_t */
+		uarg[5] = p->flags; /* unsigned int */
+		*n_args = 6;
+		break;
+	}
 	default:
 		*n_args = 0;
 		break;
@@ -8839,6 +8851,31 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
 			break;
 		};
 		break;
+	/* copy_file_range */
+	case 569:
+		switch(ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "userland off_t *";
+			break;
+		case 2:
+			p = "int";
+			break;
+		case 3:
+			p = "userland off_t *";
+			break;
+		case 4:
+			p = "size_t";
+			break;
+		case 5:
+			p = "unsigned int";
+			break;
+		default:
+			break;
+		};
+		break;
 	default:
 		break;
 	};
@@ -10739,6 +10776,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *
 	case 568:
 		if (ndx == 0 || ndx == 1)
 			p = "int";
+		break;
+	/* copy_file_range */
+	case 569:
+		if (ndx == 0 || ndx == 1)
+			p = "ssize_t";
 		break;
 	default:
 		break;

Modified: head/sys/sys/syscall.h
==============================================================================
--- head/sys/sys/syscall.h	Thu Jul 25 05:46:16 2019	(r350315)
+++ head/sys/sys/syscall.h	Thu Jul 25 05:55:55 2019	(r350316)
@@ -504,4 +504,5 @@
 #define	SYS_fhlinkat	566
 #define	SYS_fhreadlink	567
 #define	SYS_funlinkat	568
-#define	SYS_MAXSYSCALL	569
+#define	SYS_copy_file_range	569
+#define	SYS_MAXSYSCALL	570

Modified: head/sys/sys/sysproto.h
==============================================================================
--- head/sys/sys/sysproto.h	Thu Jul 25 05:46:16 2019	(r350315)
+++ head/sys/sys/sysproto.h	Thu Jul 25 05:55:55 2019	(r350316)
@@ -1796,6 +1796,14 @@ struct funlinkat_args {
 	char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
 	char flag_l_[PADL_(int)]; int flag; char flag_r_[PADR_(int)];
 };
+struct copy_file_range_args {
+	char infd_l_[PADL_(int)]; int infd; char infd_r_[PADR_(int)];
+	char inoffp_l_[PADL_(off_t *)]; off_t * inoffp; char inoffp_r_[PADR_(off_t *)];
+	char outfd_l_[PADL_(int)]; int outfd; char outfd_r_[PADR_(int)];
+	char outoffp_l_[PADL_(off_t *)]; off_t * outoffp; char outoffp_r_[PADR_(off_t *)];
+	char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)];
+	char flags_l_[PADL_(unsigned int)]; unsigned int flags; char flags_r_[PADR_(unsigned int)];
+};
 int	nosys(struct thread *, struct nosys_args *);
 void	sys_sys_exit(struct thread *, struct sys_exit_args *);
 int	sys_fork(struct thread *, struct fork_args *);
@@ -2181,6 +2189,7 @@ int	sys_fhlink(struct thread *, struct fhlink_args *);
 int	sys_fhlinkat(struct thread *, struct fhlinkat_args *);
 int	sys_fhreadlink(struct thread *, struct fhreadlink_args *);
 int	sys_funlinkat(struct thread *, struct funlinkat_args *);
+int	sys_copy_file_range(struct thread *, struct copy_file_range_args *);
 
 #ifdef COMPAT_43
 
@@ -3088,6 +3097,7 @@ int	freebsd11_mknodat(struct thread *, struct freebsd1
 #define	SYS_AUE_fhlinkat	AUE_NULL
 #define	SYS_AUE_fhreadlink	AUE_NULL
 #define	SYS_AUE_funlinkat	AUE_UNLINKAT
+#define	SYS_AUE_copy_file_range	AUE_NULL
 
 #undef PAD_
 #undef PADL_



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201907250555.x6P5tuKZ082840>