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;
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to