svn commit: r357578 - in head/sys: amd64/linux32 arm/linux i386/linux
Ed Maste
emaste at FreeBSD.org
Wed Feb 5 16:54:20 UTC 2020
Author: emaste
Date: Wed Feb 5 16:54:16 2020
New Revision: 357578
URL: https://svnweb.freebsd.org/changeset/base/357578
Log:
regen linuxulator sysent after r357577
Modified:
head/sys/amd64/linux32/linux32_proto.h
head/sys/amd64/linux32/linux32_syscall.h
head/sys/amd64/linux32/linux32_syscalls.c
head/sys/amd64/linux32/linux32_sysent.c
head/sys/amd64/linux32/linux32_systrace_args.c
head/sys/arm/linux/linux_proto.h
head/sys/arm/linux/linux_syscall.h
head/sys/arm/linux/linux_syscalls.c
head/sys/arm/linux/linux_sysent.c
head/sys/arm/linux/linux_systrace_args.c
head/sys/i386/linux/linux_proto.h
head/sys/i386/linux/linux_syscall.h
head/sys/i386/linux/linux_syscalls.c
head/sys/i386/linux/linux_sysent.c
head/sys/i386/linux/linux_systrace_args.c
Modified: head/sys/amd64/linux32/linux32_proto.h
==============================================================================
--- head/sys/amd64/linux32/linux32_proto.h Wed Feb 5 16:53:02 2020 (r357577)
+++ head/sys/amd64/linux32/linux32_proto.h Wed Feb 5 16:54:16 2020 (r357578)
@@ -606,7 +606,10 @@ struct linux_sigaltstack_args {
char uoss_l_[PADL_(l_stack_t *)]; l_stack_t * uoss; char uoss_r_[PADR_(l_stack_t *)];
};
struct linux_sendfile_args {
- register_t dummy;
+ char out_l_[PADL_(l_int)]; l_int out; char out_r_[PADR_(l_int)];
+ char in_l_[PADL_(l_int)]; l_int in; char in_r_[PADR_(l_int)];
+ char offset_l_[PADL_(l_long *)]; l_long * offset; char offset_r_[PADR_(l_long *)];
+ char count_l_[PADL_(l_size_t)]; l_size_t count; char count_r_[PADR_(l_size_t)];
};
struct linux_vfork_args {
register_t dummy;
@@ -737,6 +740,12 @@ struct linux_tkill_args {
char tid_l_[PADL_(int)]; int tid; char tid_r_[PADR_(int)];
char sig_l_[PADL_(int)]; int sig; char sig_r_[PADR_(int)];
};
+struct linux_sendfile64_args {
+ char out_l_[PADL_(l_int)]; l_int out; char out_r_[PADR_(l_int)];
+ char in_l_[PADL_(l_int)]; l_int in; char in_r_[PADR_(l_int)];
+ char offset_l_[PADL_(l_loff_t *)]; l_loff_t * offset; char offset_r_[PADR_(l_loff_t *)];
+ char count_l_[PADL_(l_size_t)]; l_size_t count; char count_r_[PADR_(l_size_t)];
+};
struct linux_sys_futex_args {
char uaddr_l_[PADL_(void *)]; void * uaddr; char uaddr_r_[PADR_(void *)];
char op_l_[PADL_(int)]; int op; char op_r_[PADR_(int)];
@@ -1698,6 +1707,7 @@ int linux_removexattr(struct thread *, struct linux_re
int linux_lremovexattr(struct thread *, struct linux_lremovexattr_args *);
int linux_fremovexattr(struct thread *, struct linux_fremovexattr_args *);
int linux_tkill(struct thread *, struct linux_tkill_args *);
+int linux_sendfile64(struct thread *, struct linux_sendfile64_args *);
int linux_sys_futex(struct thread *, struct linux_sys_futex_args *);
int linux_sched_setaffinity(struct thread *, struct linux_sched_setaffinity_args *);
int linux_sched_getaffinity(struct thread *, struct linux_sched_getaffinity_args *);
@@ -2092,6 +2102,7 @@ int linux_io_uring_register(struct thread *, struct li
#define LINUX32_SYS_AUE_linux_lremovexattr AUE_NULL
#define LINUX32_SYS_AUE_linux_fremovexattr AUE_NULL
#define LINUX32_SYS_AUE_linux_tkill AUE_NULL
+#define LINUX32_SYS_AUE_linux_sendfile64 AUE_SENDFILE
#define LINUX32_SYS_AUE_linux_sys_futex AUE_NULL
#define LINUX32_SYS_AUE_linux_sched_setaffinity AUE_NULL
#define LINUX32_SYS_AUE_linux_sched_getaffinity AUE_NULL
Modified: head/sys/amd64/linux32/linux32_syscall.h
==============================================================================
--- head/sys/amd64/linux32/linux32_syscall.h Wed Feb 5 16:53:02 2020 (r357577)
+++ head/sys/amd64/linux32/linux32_syscall.h Wed Feb 5 16:54:16 2020 (r357578)
@@ -216,6 +216,7 @@
#define LINUX32_SYS_linux_lremovexattr 236
#define LINUX32_SYS_linux_fremovexattr 237
#define LINUX32_SYS_linux_tkill 238
+#define LINUX32_SYS_linux_sendfile64 239
#define LINUX32_SYS_linux_sys_futex 240
#define LINUX32_SYS_linux_sched_setaffinity 241
#define LINUX32_SYS_linux_sched_getaffinity 242
Modified: head/sys/amd64/linux32/linux32_syscalls.c
==============================================================================
--- head/sys/amd64/linux32/linux32_syscalls.c Wed Feb 5 16:53:02 2020 (r357577)
+++ head/sys/amd64/linux32/linux32_syscalls.c Wed Feb 5 16:54:16 2020 (r357578)
@@ -246,7 +246,7 @@ const char *linux32_syscallnames[] = {
"linux_lremovexattr", /* 236 = linux_lremovexattr */
"linux_fremovexattr", /* 237 = linux_fremovexattr */
"linux_tkill", /* 238 = linux_tkill */
- "#239", /* 239 = linux_sendfile64 */
+ "linux_sendfile64", /* 239 = linux_sendfile64 */
"linux_sys_futex", /* 240 = linux_sys_futex */
"linux_sched_setaffinity", /* 241 = linux_sched_setaffinity */
"linux_sched_getaffinity", /* 242 = linux_sched_getaffinity */
Modified: head/sys/amd64/linux32/linux32_sysent.c
==============================================================================
--- head/sys/amd64/linux32/linux32_sysent.c Wed Feb 5 16:53:02 2020 (r357577)
+++ head/sys/amd64/linux32/linux32_sysent.c Wed Feb 5 16:54:16 2020 (r357578)
@@ -204,7 +204,7 @@ struct sysent linux32_sysent[] = {
{ AS(linux_capget_args), (sy_call_t *)linux_capget, AUE_CAPGET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 184 = linux_capget */
{ AS(linux_capset_args), (sy_call_t *)linux_capset, AUE_CAPSET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 185 = linux_capset */
{ AS(linux_sigaltstack_args), (sy_call_t *)linux_sigaltstack, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 186 = linux_sigaltstack */
- { 0, (sy_call_t *)linux_sendfile, AUE_SENDFILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 187 = linux_sendfile */
+ { AS(linux_sendfile_args), (sy_call_t *)linux_sendfile, AUE_SENDFILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 187 = linux_sendfile */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 188 = getpmsg */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 189 = putpmsg */
{ 0, (sy_call_t *)linux_vfork, AUE_VFORK, NULL, 0, 0, 0, SY_THR_STATIC }, /* 190 = linux_vfork */
@@ -256,7 +256,7 @@ struct sysent linux32_sysent[] = {
{ 0, (sy_call_t *)linux_lremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 236 = linux_lremovexattr */
{ 0, (sy_call_t *)linux_fremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 237 = linux_fremovexattr */
{ AS(linux_tkill_args), (sy_call_t *)linux_tkill, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 238 = linux_tkill */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 239 = linux_sendfile64 */
+ { AS(linux_sendfile64_args), (sy_call_t *)linux_sendfile64, AUE_SENDFILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 239 = linux_sendfile64 */
{ AS(linux_sys_futex_args), (sy_call_t *)linux_sys_futex, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 240 = linux_sys_futex */
{ AS(linux_sched_setaffinity_args), (sy_call_t *)linux_sched_setaffinity, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 241 = linux_sched_setaffinity */
{ AS(linux_sched_getaffinity_args), (sy_call_t *)linux_sched_getaffinity, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 242 = linux_sched_getaffinity */
Modified: head/sys/amd64/linux32/linux32_systrace_args.c
==============================================================================
--- head/sys/amd64/linux32/linux32_systrace_args.c Wed Feb 5 16:53:02 2020 (r357577)
+++ head/sys/amd64/linux32/linux32_systrace_args.c Wed Feb 5 16:54:16 2020 (r357578)
@@ -1294,7 +1294,12 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
}
/* linux_sendfile */
case 187: {
- *n_args = 0;
+ struct linux_sendfile_args *p = params;
+ iarg[0] = p->out; /* l_int */
+ iarg[1] = p->in; /* l_int */
+ uarg[2] = (intptr_t) p->offset; /* l_long * */
+ iarg[3] = p->count; /* l_size_t */
+ *n_args = 4;
break;
}
/* linux_vfork */
@@ -1620,6 +1625,16 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
*n_args = 2;
break;
}
+ /* linux_sendfile64 */
+ case 239: {
+ struct linux_sendfile64_args *p = params;
+ iarg[0] = p->out; /* l_int */
+ iarg[1] = p->in; /* l_int */
+ uarg[2] = (intptr_t) p->offset; /* l_loff_t * */
+ iarg[3] = p->count; /* l_size_t */
+ *n_args = 4;
+ break;
+ }
/* linux_sys_futex */
case 240: {
struct linux_sys_futex_args *p = params;
@@ -4987,6 +5002,22 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
break;
/* linux_sendfile */
case 187:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ case 2:
+ p = "userland l_long *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_vfork */
case 190:
@@ -5432,6 +5463,25 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
break;
};
break;
+ /* linux_sendfile64 */
+ case 239:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ case 2:
+ p = "userland l_loff_t *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
+ break;
/* linux_sys_futex */
case 240:
switch(ndx) {
@@ -8305,6 +8355,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char *
break;
/* linux_sendfile */
case 187:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_vfork */
case 190:
/* linux_getrlimit */
@@ -8475,6 +8528,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *
case 237:
/* linux_tkill */
case 238:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_sendfile64 */
+ case 239:
if (ndx == 0 || ndx == 1)
p = "int";
break;
Modified: head/sys/arm/linux/linux_proto.h
==============================================================================
--- head/sys/arm/linux/linux_proto.h Wed Feb 5 16:53:02 2020 (r357577)
+++ head/sys/arm/linux/linux_proto.h Wed Feb 5 16:54:16 2020 (r357578)
@@ -509,7 +509,10 @@ struct linux_sigaltstack_args {
char uoss_l_[PADL_(l_stack_t *)]; l_stack_t * uoss; char uoss_r_[PADR_(l_stack_t *)];
};
struct linux_sendfile_args {
- register_t dummy;
+ char out_l_[PADL_(l_int)]; l_int out; char out_r_[PADR_(l_int)];
+ char in_l_[PADL_(l_int)]; l_int in; char in_r_[PADR_(l_int)];
+ char offset_l_[PADL_(l_long *)]; l_long * offset; char offset_r_[PADR_(l_long *)];
+ char count_l_[PADL_(l_size_t)]; l_size_t count; char count_r_[PADR_(l_size_t)];
};
struct linux_vfork_args {
register_t dummy;
@@ -638,6 +641,12 @@ struct linux_tkill_args {
char tid_l_[PADL_(int)]; int tid; char tid_r_[PADR_(int)];
char sig_l_[PADL_(int)]; int sig; char sig_r_[PADR_(int)];
};
+struct linux_sendfile64_args {
+ char out_l_[PADL_(l_int)]; l_int out; char out_r_[PADR_(l_int)];
+ char in_l_[PADL_(l_int)]; l_int in; char in_r_[PADR_(l_int)];
+ char offset_l_[PADL_(l_loff_t *)]; l_loff_t * offset; char offset_r_[PADR_(l_loff_t *)];
+ char count_l_[PADL_(l_size_t)]; l_size_t count; char count_r_[PADR_(l_size_t)];
+};
struct linux_sys_futex_args {
char uaddr_l_[PADL_(void *)]; void * uaddr; char uaddr_r_[PADR_(void *)];
char op_l_[PADL_(int)]; int op; char op_r_[PADR_(int)];
@@ -1371,6 +1380,7 @@ int linux_removexattr(struct thread *, struct linux_re
int linux_lremovexattr(struct thread *, struct linux_lremovexattr_args *);
int linux_fremovexattr(struct thread *, struct linux_fremovexattr_args *);
int linux_tkill(struct thread *, struct linux_tkill_args *);
+int linux_sendfile64(struct thread *, struct linux_sendfile64_args *);
int linux_sys_futex(struct thread *, struct linux_sys_futex_args *);
int linux_sched_setaffinity(struct thread *, struct linux_sched_setaffinity_args *);
int linux_sched_getaffinity(struct thread *, struct linux_sched_getaffinity_args *);
@@ -1696,6 +1706,7 @@ int linux_set_tls(struct thread *, struct linux_set_tl
#define LINUX_SYS_AUE_linux_lremovexattr AUE_NULL
#define LINUX_SYS_AUE_linux_fremovexattr AUE_NULL
#define LINUX_SYS_AUE_linux_tkill AUE_NULL
+#define LINUX_SYS_AUE_linux_sendfile64 AUE_SENDFILE
#define LINUX_SYS_AUE_linux_sys_futex AUE_NULL
#define LINUX_SYS_AUE_linux_sched_setaffinity AUE_NULL
#define LINUX_SYS_AUE_linux_sched_getaffinity AUE_NULL
Modified: head/sys/arm/linux/linux_syscall.h
==============================================================================
--- head/sys/arm/linux/linux_syscall.h Wed Feb 5 16:53:02 2020 (r357577)
+++ head/sys/arm/linux/linux_syscall.h Wed Feb 5 16:54:16 2020 (r357578)
@@ -195,6 +195,7 @@
#define LINUX_SYS_linux_lremovexattr 236
#define LINUX_SYS_linux_fremovexattr 237
#define LINUX_SYS_linux_tkill 238
+#define LINUX_SYS_linux_sendfile64 239
#define LINUX_SYS_linux_sys_futex 240
#define LINUX_SYS_linux_sched_setaffinity 241
#define LINUX_SYS_linux_sched_getaffinity 242
Modified: head/sys/arm/linux/linux_syscalls.c
==============================================================================
--- head/sys/arm/linux/linux_syscalls.c Wed Feb 5 16:53:02 2020 (r357577)
+++ head/sys/arm/linux/linux_syscalls.c Wed Feb 5 16:54:16 2020 (r357578)
@@ -246,7 +246,7 @@ const char *linux_syscallnames[] = {
"linux_lremovexattr", /* 236 = linux_lremovexattr */
"linux_fremovexattr", /* 237 = linux_fremovexattr */
"linux_tkill", /* 238 = linux_tkill */
- "#239", /* 239 = linux_sendfile64 */
+ "linux_sendfile64", /* 239 = linux_sendfile64 */
"linux_sys_futex", /* 240 = linux_sys_futex */
"linux_sched_setaffinity", /* 241 = linux_sched_setaffinity */
"linux_sched_getaffinity", /* 242 = linux_sched_getaffinity */
Modified: head/sys/arm/linux/linux_sysent.c
==============================================================================
--- head/sys/arm/linux/linux_sysent.c Wed Feb 5 16:53:02 2020 (r357577)
+++ head/sys/arm/linux/linux_sysent.c Wed Feb 5 16:54:16 2020 (r357578)
@@ -204,7 +204,7 @@ struct sysent linux_sysent[] = {
{ AS(linux_capget_args), (sy_call_t *)linux_capget, AUE_CAPGET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 184 = linux_capget */
{ AS(linux_capset_args), (sy_call_t *)linux_capset, AUE_CAPSET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 185 = linux_capset */
{ AS(linux_sigaltstack_args), (sy_call_t *)linux_sigaltstack, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 186 = linux_sigaltstack */
- { 0, (sy_call_t *)linux_sendfile, AUE_SENDFILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 187 = linux_sendfile */
+ { AS(linux_sendfile_args), (sy_call_t *)linux_sendfile, AUE_SENDFILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 187 = linux_sendfile */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 188 = ; */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 189 = ; */
{ 0, (sy_call_t *)linux_vfork, AUE_VFORK, NULL, 0, 0, 0, SY_THR_STATIC }, /* 190 = linux_vfork */
@@ -256,7 +256,7 @@ struct sysent linux_sysent[] = {
{ 0, (sy_call_t *)linux_lremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 236 = linux_lremovexattr */
{ 0, (sy_call_t *)linux_fremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 237 = linux_fremovexattr */
{ AS(linux_tkill_args), (sy_call_t *)linux_tkill, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 238 = linux_tkill */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 239 = linux_sendfile64 */
+ { AS(linux_sendfile64_args), (sy_call_t *)linux_sendfile64, AUE_SENDFILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 239 = linux_sendfile64 */
{ AS(linux_sys_futex_args), (sy_call_t *)linux_sys_futex, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 240 = linux_sys_futex */
{ AS(linux_sched_setaffinity_args), (sy_call_t *)linux_sched_setaffinity, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 241 = linux_sched_setaffinity */
{ AS(linux_sched_getaffinity_args), (sy_call_t *)linux_sched_getaffinity, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 242 = linux_sched_getaffinity */
Modified: head/sys/arm/linux/linux_systrace_args.c
==============================================================================
--- head/sys/arm/linux/linux_systrace_args.c Wed Feb 5 16:53:02 2020 (r357577)
+++ head/sys/arm/linux/linux_systrace_args.c Wed Feb 5 16:54:16 2020 (r357578)
@@ -1135,7 +1135,12 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
}
/* linux_sendfile */
case 187: {
- *n_args = 0;
+ struct linux_sendfile_args *p = params;
+ iarg[0] = p->out; /* l_int */
+ iarg[1] = p->in; /* l_int */
+ uarg[2] = (intptr_t) p->offset; /* l_long * */
+ iarg[3] = p->count; /* l_size_t */
+ *n_args = 4;
break;
}
/* linux_vfork */
@@ -1459,6 +1464,16 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
*n_args = 2;
break;
}
+ /* linux_sendfile64 */
+ case 239: {
+ struct linux_sendfile64_args *p = params;
+ iarg[0] = p->out; /* l_int */
+ iarg[1] = p->in; /* l_int */
+ uarg[2] = (intptr_t) p->offset; /* l_loff_t * */
+ iarg[3] = p->count; /* l_size_t */
+ *n_args = 4;
+ break;
+ }
/* linux_sys_futex */
case 240: {
struct linux_sys_futex_args *p = params;
@@ -4248,6 +4263,22 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
break;
/* linux_sendfile */
case 187:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ case 2:
+ p = "userland l_long *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_vfork */
case 190:
@@ -4687,6 +4718,25 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
break;
};
break;
+ /* linux_sendfile64 */
+ case 239:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ case 2:
+ p = "userland l_loff_t *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
+ break;
/* linux_sys_futex */
case 240:
switch(ndx) {
@@ -6978,6 +7028,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char *
break;
/* linux_sendfile */
case 187:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_vfork */
case 190:
/* linux_getrlimit */
@@ -7148,6 +7201,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *
case 237:
/* linux_tkill */
case 238:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_sendfile64 */
+ case 239:
if (ndx == 0 || ndx == 1)
p = "int";
break;
Modified: head/sys/i386/linux/linux_proto.h
==============================================================================
--- head/sys/i386/linux/linux_proto.h Wed Feb 5 16:53:02 2020 (r357577)
+++ head/sys/i386/linux/linux_proto.h Wed Feb 5 16:54:16 2020 (r357578)
@@ -605,7 +605,10 @@ struct linux_sigaltstack_args {
char uoss_l_[PADL_(l_stack_t *)]; l_stack_t * uoss; char uoss_r_[PADR_(l_stack_t *)];
};
struct linux_sendfile_args {
- register_t dummy;
+ char out_l_[PADL_(l_int)]; l_int out; char out_r_[PADR_(l_int)];
+ char in_l_[PADL_(l_int)]; l_int in; char in_r_[PADR_(l_int)];
+ char offset_l_[PADL_(l_long *)]; l_long * offset; char offset_r_[PADR_(l_long *)];
+ char count_l_[PADL_(l_size_t)]; l_size_t count; char count_r_[PADR_(l_size_t)];
};
struct linux_vfork_args {
register_t dummy;
@@ -734,6 +737,12 @@ struct linux_tkill_args {
char tid_l_[PADL_(int)]; int tid; char tid_r_[PADR_(int)];
char sig_l_[PADL_(int)]; int sig; char sig_r_[PADR_(int)];
};
+struct linux_sendfile64_args {
+ char out_l_[PADL_(l_int)]; l_int out; char out_r_[PADR_(l_int)];
+ char in_l_[PADL_(l_int)]; l_int in; char in_r_[PADR_(l_int)];
+ char offset_l_[PADL_(l_loff_t *)]; l_loff_t * offset; char offset_r_[PADR_(l_loff_t *)];
+ char count_l_[PADL_(l_size_t)]; l_size_t count; char count_r_[PADR_(l_size_t)];
+};
struct linux_sys_futex_args {
char uaddr_l_[PADL_(void *)]; void * uaddr; char uaddr_r_[PADR_(void *)];
char op_l_[PADL_(int)]; int op; char op_r_[PADR_(int)];
@@ -1706,6 +1715,7 @@ int linux_removexattr(struct thread *, struct linux_re
int linux_lremovexattr(struct thread *, struct linux_lremovexattr_args *);
int linux_fremovexattr(struct thread *, struct linux_fremovexattr_args *);
int linux_tkill(struct thread *, struct linux_tkill_args *);
+int linux_sendfile64(struct thread *, struct linux_sendfile64_args *);
int linux_sys_futex(struct thread *, struct linux_sys_futex_args *);
int linux_sched_setaffinity(struct thread *, struct linux_sched_setaffinity_args *);
int linux_sched_getaffinity(struct thread *, struct linux_sched_getaffinity_args *);
@@ -2102,6 +2112,7 @@ int linux_io_uring_register(struct thread *, struct li
#define LINUX_SYS_AUE_linux_lremovexattr AUE_NULL
#define LINUX_SYS_AUE_linux_fremovexattr AUE_NULL
#define LINUX_SYS_AUE_linux_tkill AUE_NULL
+#define LINUX_SYS_AUE_linux_sendfile64 AUE_SENDFILE
#define LINUX_SYS_AUE_linux_sys_futex AUE_NULL
#define LINUX_SYS_AUE_linux_sched_setaffinity AUE_NULL
#define LINUX_SYS_AUE_linux_sched_getaffinity AUE_NULL
Modified: head/sys/i386/linux/linux_syscall.h
==============================================================================
--- head/sys/i386/linux/linux_syscall.h Wed Feb 5 16:53:02 2020 (r357577)
+++ head/sys/i386/linux/linux_syscall.h Wed Feb 5 16:54:16 2020 (r357578)
@@ -222,6 +222,7 @@
#define LINUX_SYS_linux_lremovexattr 236
#define LINUX_SYS_linux_fremovexattr 237
#define LINUX_SYS_linux_tkill 238
+#define LINUX_SYS_linux_sendfile64 239
#define LINUX_SYS_linux_sys_futex 240
#define LINUX_SYS_linux_sched_setaffinity 241
#define LINUX_SYS_linux_sched_getaffinity 242
Modified: head/sys/i386/linux/linux_syscalls.c
==============================================================================
--- head/sys/i386/linux/linux_syscalls.c Wed Feb 5 16:53:02 2020 (r357577)
+++ head/sys/i386/linux/linux_syscalls.c Wed Feb 5 16:54:16 2020 (r357578)
@@ -246,7 +246,7 @@ const char *linux_syscallnames[] = {
"linux_lremovexattr", /* 236 = linux_lremovexattr */
"linux_fremovexattr", /* 237 = linux_fremovexattr */
"linux_tkill", /* 238 = linux_tkill */
- "#239", /* 239 = linux_sendfile64 */
+ "linux_sendfile64", /* 239 = linux_sendfile64 */
"linux_sys_futex", /* 240 = linux_sys_futex */
"linux_sched_setaffinity", /* 241 = linux_sched_setaffinity */
"linux_sched_getaffinity", /* 242 = linux_sched_getaffinity */
Modified: head/sys/i386/linux/linux_sysent.c
==============================================================================
--- head/sys/i386/linux/linux_sysent.c Wed Feb 5 16:53:02 2020 (r357577)
+++ head/sys/i386/linux/linux_sysent.c Wed Feb 5 16:54:16 2020 (r357578)
@@ -204,7 +204,7 @@ struct sysent linux_sysent[] = {
{ AS(linux_capget_args), (sy_call_t *)linux_capget, AUE_CAPGET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 184 = linux_capget */
{ AS(linux_capset_args), (sy_call_t *)linux_capset, AUE_CAPSET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 185 = linux_capset */
{ AS(linux_sigaltstack_args), (sy_call_t *)linux_sigaltstack, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 186 = linux_sigaltstack */
- { 0, (sy_call_t *)linux_sendfile, AUE_SENDFILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 187 = linux_sendfile */
+ { AS(linux_sendfile_args), (sy_call_t *)linux_sendfile, AUE_SENDFILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 187 = linux_sendfile */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 188 = getpmsg */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 189 = putpmsg */
{ 0, (sy_call_t *)linux_vfork, AUE_VFORK, NULL, 0, 0, 0, SY_THR_STATIC }, /* 190 = linux_vfork */
@@ -256,7 +256,7 @@ struct sysent linux_sysent[] = {
{ 0, (sy_call_t *)linux_lremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 236 = linux_lremovexattr */
{ 0, (sy_call_t *)linux_fremovexattr, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 237 = linux_fremovexattr */
{ AS(linux_tkill_args), (sy_call_t *)linux_tkill, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 238 = linux_tkill */
- { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 239 = linux_sendfile64 */
+ { AS(linux_sendfile64_args), (sy_call_t *)linux_sendfile64, AUE_SENDFILE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 239 = linux_sendfile64 */
{ AS(linux_sys_futex_args), (sy_call_t *)linux_sys_futex, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 240 = linux_sys_futex */
{ AS(linux_sched_setaffinity_args), (sy_call_t *)linux_sched_setaffinity, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 241 = linux_sched_setaffinity */
{ AS(linux_sched_getaffinity_args), (sy_call_t *)linux_sched_getaffinity, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 242 = linux_sched_getaffinity */
Modified: head/sys/i386/linux/linux_systrace_args.c
==============================================================================
--- head/sys/i386/linux/linux_systrace_args.c Wed Feb 5 16:53:02 2020 (r357577)
+++ head/sys/i386/linux/linux_systrace_args.c Wed Feb 5 16:54:16 2020 (r357578)
@@ -1335,7 +1335,12 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
}
/* linux_sendfile */
case 187: {
- *n_args = 0;
+ struct linux_sendfile_args *p = params;
+ iarg[0] = p->out; /* l_int */
+ iarg[1] = p->in; /* l_int */
+ uarg[2] = (intptr_t) p->offset; /* l_long * */
+ iarg[3] = p->count; /* l_size_t */
+ *n_args = 4;
break;
}
/* linux_vfork */
@@ -1659,6 +1664,16 @@ systrace_args(int sysnum, void *params, uint64_t *uarg
*n_args = 2;
break;
}
+ /* linux_sendfile64 */
+ case 239: {
+ struct linux_sendfile64_args *p = params;
+ iarg[0] = p->out; /* l_int */
+ iarg[1] = p->in; /* l_int */
+ uarg[2] = (intptr_t) p->offset; /* l_loff_t * */
+ iarg[3] = p->count; /* l_size_t */
+ *n_args = 4;
+ break;
+ }
/* linux_sys_futex */
case 240: {
struct linux_sys_futex_args *p = params;
@@ -5107,6 +5122,22 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
break;
/* linux_sendfile */
case 187:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ case 2:
+ p = "userland l_long *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
break;
/* linux_vfork */
case 190:
@@ -5546,6 +5577,25 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d
break;
};
break;
+ /* linux_sendfile64 */
+ case 239:
+ switch(ndx) {
+ case 0:
+ p = "l_int";
+ break;
+ case 1:
+ p = "l_int";
+ break;
+ case 2:
+ p = "userland l_loff_t *";
+ break;
+ case 3:
+ p = "l_size_t";
+ break;
+ default:
+ break;
+ };
+ break;
/* linux_sys_futex */
case 240:
switch(ndx) {
@@ -8516,6 +8566,9 @@ systrace_return_setargdesc(int sysnum, int ndx, char *
break;
/* linux_sendfile */
case 187:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
/* linux_vfork */
case 190:
/* linux_getrlimit */
@@ -8686,6 +8739,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *
case 237:
/* linux_tkill */
case 238:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+ /* linux_sendfile64 */
+ case 239:
if (ndx == 0 || ndx == 1)
p = "int";
break;
More information about the svn-src-head
mailing list