Author: dchagin
Date: Sun Mar 24 14:50:02 2019
New Revision: 345471
URL: https://svnweb.freebsd.org/changeset/base/345471

Log:
  Update syscall.master to 5.0.
  
  For 32-bit Linuxulator, ipc() syscall was historically
  the entry point for the IPC API. Starting in Linux 4.18, direct
  syscalls are provided for the IPC. Enable it.
  
  MFC after:    1 month

Modified:
  head/sys/amd64/linux/linux_dummy.c
  head/sys/amd64/linux/syscalls.master
  head/sys/amd64/linux32/linux32_dummy.c
  head/sys/amd64/linux32/syscalls.master
  head/sys/compat/linux/linux_ipc.h
  head/sys/i386/linux/linux.h
  head/sys/i386/linux/linux_dummy.c
  head/sys/i386/linux/syscalls.master

Modified: head/sys/amd64/linux/linux_dummy.c
==============================================================================
--- head/sys/amd64/linux/linux_dummy.c  Sun Mar 24 14:46:07 2019        
(r345470)
+++ head/sys/amd64/linux/linux_dummy.c  Sun Mar 24 14:50:02 2019        
(r345471)
@@ -155,6 +155,16 @@ DUMMY(pwritev2);
 DUMMY(pkey_mprotect);
 DUMMY(pkey_alloc);
 DUMMY(pkey_free);
+/* Linux 4.11: */
+DUMMY(statx);
+/* Linux 4.18: */
+DUMMY(io_pgetevents);
+DUMMY(rseq);
+/* Linux 5.0: */
+DUMMY(pidfd_send_signal);
+DUMMY(io_uring_setup);
+DUMMY(io_uring_enter);
+DUMMY(io_uring_register);
 
 #define DUMMY_XATTR(s)                                         \
 int                                                            \

Modified: head/sys/amd64/linux/syscalls.master
==============================================================================
--- head/sys/amd64/linux/syscalls.master        Sun Mar 24 14:46:07 2019        
(r345470)
+++ head/sys/amd64/linux/syscalls.master        Sun Mar 24 14:50:02 2019        
(r345471)
@@ -595,7 +595,21 @@
 330    AUE_NULL        STD     { int linux_pkey_alloc(l_ulong flags,           
\
                                    l_ulong init_val); }
 331    AUE_NULL        STD     { int linux_pkey_free(l_int pkey); }
+; Linux 4.11:
+332    AUE_NULL        STD     { int linux_statx(l_int dirfd,                  
\
+                                   const char *pathname, l_uint flags,         
\
+                                   l_uint mask, void *statxbuf); }
+; Linux 4.18:
+333    AUE_NULL        STD     { int linux_io_pgetevents(void); }
+334    AUE_NULL        STD     { int linux_rseq(void); }
+; Linux 5.0:
+335-423        AUE_NULL        UNIMPL  nosys
+424    AUE_NULL        STD     { int linux_pidfd_send_signal(l_int pidfd,      
\
+                                   l_int sig, l_siginfo_t *info, l_uint 
flags); }
+425    AUE_NULL        STD     { int linux_io_uring_setup(void); }
+426    AUE_NULL        STD     { int linux_io_uring_enter(void); }
+427    AUE_NULL        STD     { int linux_io_uring_register(void); }
 
 ; please, keep this line at the end.
-332    AUE_NULL        UNIMPL  nosys
+428    AUE_NULL        UNIMPL  nosys
 ; vim: syntax=off

Modified: head/sys/amd64/linux32/linux32_dummy.c
==============================================================================
--- head/sys/amd64/linux32/linux32_dummy.c      Sun Mar 24 14:46:07 2019        
(r345470)
+++ head/sys/amd64/linux32/linux32_dummy.c      Sun Mar 24 14:50:02 2019        
(r345471)
@@ -161,6 +161,37 @@ DUMMY(pwritev2);
 DUMMY(pkey_mprotect);
 DUMMY(pkey_alloc);
 DUMMY(pkey_free);
+/* Linux 4.11: */
+DUMMY(statx);
+DUMMY(arch_prctl);
+/* Linux 4.18: */
+DUMMY(io_pgetevents);
+DUMMY(rseq);
+/* Linux 5.0: */
+DUMMY(clock_gettime64);
+DUMMY(clock_settime64);
+DUMMY(clock_adjtime64);
+DUMMY(clock_getres_time64);
+DUMMY(clock_nanosleep_time64);
+DUMMY(timer_gettime64);
+DUMMY(timer_settime64);
+DUMMY(timerfd_gettime64);
+DUMMY(timerfd_settime64);
+DUMMY(utimensat_time64);
+DUMMY(pselect6_time64);
+DUMMY(ppoll_time64);
+DUMMY(io_pgetevents_time64);
+DUMMY(recvmmsg_time64);
+DUMMY(mq_timedsend_time64);
+DUMMY(mq_timedreceive_time64);
+DUMMY(semtimedop_time64);
+DUMMY(rt_sigtimedwait_time64);
+DUMMY(futex_time64);
+DUMMY(sched_rr_get_interval_time64);
+DUMMY(pidfd_send_signal);
+DUMMY(io_uring_setup);
+DUMMY(io_uring_enter);
+DUMMY(io_uring_register);
 
 #define DUMMY_XATTR(s)                                         \
 int                                                            \

Modified: head/sys/amd64/linux32/syscalls.master
==============================================================================
--- head/sys/amd64/linux32/syscalls.master      Sun Mar 24 14:46:07 2019        
(r345470)
+++ head/sys/amd64/linux32/syscalls.master      Sun Mar 24 14:50:02 2019        
(r345471)
@@ -686,7 +686,64 @@
 381    AUE_NULL        STD     { int linux_pkey_alloc(l_ulong flags,           
\
                                    l_ulong init_val); }
 382    AUE_NULL        STD     { int linux_pkey_free(l_int pkey); }
+; Linux 4.11:
+383    AUE_NULL        STD     { int linux_statx(l_int dirfd,                  
\
+                                   const char *pathname, l_uint flags,         
\
+                                   l_uint mask, void *statxbuf); }
+384    AUE_NULL        STD     { int linux_arch_prctl(l_int option,
+                                   l_ulong arg2); }
+; Linux 4.18:
+385    AUE_NULL        STD     { int linux_io_pgetevents(void); }
+386    AUE_NULL        STD     { int linux_rseq(void); }
+387-392        AUE_NULL        UNIMPL  nosys
+393    AUE_NULL        STD     { int linux_semget(l_key_t key, l_int nsems,    
\
+                                   l_int semflg); }
+394    AUE_NULL        STD     { int linux_semctl(l_int semid, l_int semnum,   
\
+                                   l_int cmd, union l_semun arg); }
+395    AUE_NULL        STD     { int linux_shmget(l_key_t key, l_size_t size,  
\
+                                   l_int shmflg); }
+396    AUE_NULL        STD     { int linux_shmctl(l_int shmid, l_int cmd,      
\
+                                   struct l_shmid_ds *buf); }
+397    AUE_NULL        STD     { int linux_shmat(l_int shmid, char *shmaddr,   
\
+                                   l_int shmflg); }
+398    AUE_NULL        STD     { int linux_shmdt(char *shmaddr); }
+399    AUE_NULL        STD     { int linux_msgget(l_key_t key, l_int msgflg); }
+400    AUE_NULL        STD     { int linux_msgsnd(l_int msqid, \
+                                   struct l_msgbuf *msgp, l_size_t msgsz, \
+                                   l_int msgflg); }
+401    AUE_NULL        STD     { int linux_msgrcv(l_int msqid, \
+                                   struct l_msgbuf *msgp, l_size_t msgsz, \
+                                   l_long msgtyp, l_int msgflg); }
+402    AUE_NULL        STD     { int linux_msgctl(l_int msqid, l_int cmd, \
+                                   struct l_msqid_ds *buf); }
+; Linux 5.0:
+403    AUE_NULL        STD     { int linux_clock_gettime64(void); }
+404    AUE_NULL        STD     { int linux_clock_settime64(void); }
+405    AUE_NULL        STD     { int linux_clock_adjtime64(void); }
+406    AUE_NULL        STD     { int linux_clock_getres_time64(void); }
+407    AUE_NULL        STD     { int linux_clock_nanosleep_time64(void); }
+408    AUE_NULL        STD     { int linux_timer_gettime64(void); }
+409    AUE_NULL        STD     { int linux_timer_settime64(void); }
+410    AUE_NULL        STD     { int linux_timerfd_gettime64(void); }
+411    AUE_NULL        STD     { int linux_timerfd_settime64(void); }
+412    AUE_NULL        STD     { int linux_utimensat_time64(void); }
+413    AUE_NULL        STD     { int linux_pselect6_time64(void); }
+414    AUE_NULL        STD     { int linux_ppoll_time64(void); }
+415    AUE_NULL        UNIMPL  nosys
+416    AUE_NULL        STD     { int linux_io_pgetevents_time64(void); }
+417    AUE_NULL        STD     { int linux_recvmmsg_time64(void); }
+418    AUE_NULL        STD     { int linux_mq_timedsend_time64(void); }
+419    AUE_NULL        STD     { int linux_mq_timedreceive_time64(void); }
+420    AUE_NULL        STD     { int linux_semtimedop_time64(void); }
+421    AUE_NULL        STD     { int linux_rt_sigtimedwait_time64(void); }
+422    AUE_NULL        STD     { int linux_futex_time64(void); }
+423    AUE_NULL        STD     { int linux_sched_rr_get_interval_time64(void); 
}
+424    AUE_NULL        STD     { int linux_pidfd_send_signal(l_int pidfd,      
\
+                                   l_int sig, l_siginfo_t *info, l_uint 
flags); }
+425    AUE_NULL        STD     { int linux_io_uring_setup(void); }
+426    AUE_NULL        STD     { int linux_io_uring_enter(void); }
+427    AUE_NULL        STD     { int linux_io_uring_register(void); }
 
 ; please, keep this line at the end.
-383    AUE_NULL        UNIMPL  nosys
+428    AUE_NULL        UNIMPL  nosys
 ; vim: syntax=off

Modified: head/sys/compat/linux/linux_ipc.h
==============================================================================
--- head/sys/compat/linux/linux_ipc.h   Sun Mar 24 14:46:07 2019        
(r345470)
+++ head/sys/compat/linux/linux_ipc.h   Sun Mar 24 14:50:02 2019        
(r345471)
@@ -84,51 +84,6 @@
 
 #if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32))
 
-struct linux_msgctl_args
-{
-       l_int           msqid;
-       l_int           cmd;
-       struct l_msqid_ds *buf;
-};
-
-struct linux_msgget_args
-{
-       l_key_t         key;
-       l_int           msgflg;
-};
-
-struct linux_msgrcv_args
-{
-       l_int           msqid;
-       struct l_msgbuf *msgp;
-       l_size_t        msgsz;
-       l_long          msgtyp;
-       l_int           msgflg;
-};
-
-struct linux_msgsnd_args
-{
-       l_int           msqid;
-       struct l_msgbuf *msgp;
-       l_size_t        msgsz;
-       l_int           msgflg;
-};
-
-struct linux_semctl_args
-{
-       l_int           semid;
-       l_int           semnum;
-       l_int           cmd;
-       union l_semun   arg;
-};
-
-struct linux_semget_args
-{
-       l_key_t         key;
-       l_int           nsems;
-       l_int           semflg;
-};
-
 struct linux_semop_args
 {
        l_int           semid;
@@ -136,46 +91,7 @@ struct linux_semop_args
        l_uint          nsops;
 };
 
-struct linux_shmat_args
-{
-       l_int           shmid;
-       char            *shmaddr;
-       l_int           shmflg;
-};
-
-struct linux_shmctl_args
-{
-       l_int           shmid;
-       l_int           cmd;
-       struct l_shmid_ds *buf;
-};
-
-struct linux_shmdt_args
-{
-       char *shmaddr;
-};
-
-struct linux_shmget_args
-{
-       l_key_t         key;
-       l_size_t        size;
-       l_int           shmflg;
-};
-
-int linux_msgctl(struct thread *, struct linux_msgctl_args *);
-int linux_msgget(struct thread *, struct linux_msgget_args *);
-int linux_msgrcv(struct thread *, struct linux_msgrcv_args *);
-int linux_msgsnd(struct thread *, struct linux_msgsnd_args *);
-
-int linux_semctl(struct thread *, struct linux_semctl_args *);
-int linux_semget(struct thread *, struct linux_semget_args *);
 int linux_semop(struct thread *, struct linux_semop_args *);
-
-int linux_shmat(struct thread *, struct linux_shmat_args *);
-int linux_shmctl(struct thread *, struct linux_shmctl_args *);
-int linux_shmdt(struct thread *, struct linux_shmdt_args *);
-int linux_shmget(struct thread *, struct linux_shmget_args *);
-
 #endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */
 
 #endif /* _LINUX_IPC_H_ */

Modified: head/sys/i386/linux/linux.h
==============================================================================
--- head/sys/i386/linux/linux.h Sun Mar 24 14:46:07 2019        (r345470)
+++ head/sys/i386/linux/linux.h Sun Mar 24 14:50:02 2019        (r345471)
@@ -448,10 +448,10 @@ extern struct sysentvec linux_sysvec;
 
 union l_semun {
        l_int           val;
-       struct l_semid_ds       *buf;
+       l_uintptr_t     buf;
        l_ushort        *array;
-       struct l_seminfo        *__buf;
-       void            *__pad;
+       l_uintptr_t     __buf;
+       l_uintptr_t     __pad;
 };
 
 struct l_sockaddr {

Modified: head/sys/i386/linux/linux_dummy.c
==============================================================================
--- head/sys/i386/linux/linux_dummy.c   Sun Mar 24 14:46:07 2019        
(r345470)
+++ head/sys/i386/linux/linux_dummy.c   Sun Mar 24 14:50:02 2019        
(r345471)
@@ -157,6 +157,37 @@ DUMMY(pwritev2);
 DUMMY(pkey_mprotect);
 DUMMY(pkey_alloc);
 DUMMY(pkey_free);
+/* Linux 4.11: */
+DUMMY(statx);
+DUMMY(arch_prctl);
+/* Linux 4.18: */
+DUMMY(io_pgetevents);
+DUMMY(rseq);
+/* Linux 5.0: */
+DUMMY(clock_gettime64);
+DUMMY(clock_settime64);
+DUMMY(clock_adjtime64);
+DUMMY(clock_getres_time64);
+DUMMY(clock_nanosleep_time64);
+DUMMY(timer_gettime64);
+DUMMY(timer_settime64);
+DUMMY(timerfd_gettime64);
+DUMMY(timerfd_settime64);
+DUMMY(utimensat_time64);
+DUMMY(pselect6_time64);
+DUMMY(ppoll_time64);
+DUMMY(io_pgetevents_time64);
+DUMMY(recvmmsg_time64);
+DUMMY(mq_timedsend_time64);
+DUMMY(mq_timedreceive_time64);
+DUMMY(semtimedop_time64);
+DUMMY(rt_sigtimedwait_time64);
+DUMMY(futex_time64);
+DUMMY(sched_rr_get_interval_time64);
+DUMMY(pidfd_send_signal);
+DUMMY(io_uring_setup);
+DUMMY(io_uring_enter);
+DUMMY(io_uring_register);
 
 #define DUMMY_XATTR(s)                                         \
 int                                                            \

Modified: head/sys/i386/linux/syscalls.master
==============================================================================
--- head/sys/i386/linux/syscalls.master Sun Mar 24 14:46:07 2019        
(r345470)
+++ head/sys/i386/linux/syscalls.master Sun Mar 24 14:50:02 2019        
(r345471)
@@ -694,7 +694,64 @@
 381    AUE_NULL        STD     { int linux_pkey_alloc(l_ulong flags,           
\
                                    l_ulong init_val); }
 382    AUE_NULL        STD     { int linux_pkey_free(l_int pkey); }
+; Linux 4.11:
+383    AUE_NULL        STD     { int linux_statx(l_int dirfd,                  
\
+                                   const char *pathname, l_uint flags,         
\
+                                   l_uint mask, void *statxbuf); }
+384    AUE_PRCTL       STD     { int linux_arch_prctl(l_int option,
+                                   l_ulong arg2); }
+; Linux 4.18:
+385    AUE_NULL        STD     { int linux_io_pgetevents(void); }
+386    AUE_NULL        STD     { int linux_rseq(void); }
+387-392        AUE_NULL        UNIMPL  nosys
+393    AUE_NULL        STD     { int linux_semget(l_key_t key, l_int nsems,    
\
+                                   l_int semflg); }
+394    AUE_NULL        STD     { int linux_semctl(l_int semid, l_int semnum,   
\
+                                   l_int cmd, union l_semun arg); }
+395    AUE_NULL        STD     { int linux_shmget(l_key_t key, l_size_t size,  
\
+                                   l_int shmflg); }
+396    AUE_NULL        STD     { int linux_shmctl(l_int shmid, l_int cmd,      
\
+                                   struct l_shmid_ds *buf); }
+397    AUE_NULL        STD     { int linux_shmat(l_int shmid, char *shmaddr,   
\
+                                   l_int shmflg); }
+398    AUE_NULL        STD     { int linux_shmdt(char *shmaddr); }
+399    AUE_NULL        STD     { int linux_msgget(l_key_t key, l_int msgflg); }
+400    AUE_NULL        STD     { int linux_msgsnd(l_int msqid, \
+                                   struct l_msgbuf *msgp, l_size_t msgsz, \
+                                   l_int msgflg); }
+401    AUE_NULL        STD     { int linux_msgrcv(l_int msqid, \
+                                   struct l_msgbuf *msgp, l_size_t msgsz, \
+                                   l_long msgtyp, l_int msgflg); }
+402    AUE_NULL        STD     { int linux_msgctl(l_int msqid, l_int cmd, \
+                                   struct l_msqid_ds *buf); }
+; Linux 5.0:
+403    AUE_NULL        STD     { int linux_clock_gettime64(void); }
+404    AUE_NULL        STD     { int linux_clock_settime64(void); }
+405    AUE_NULL        STD     { int linux_clock_adjtime64(void); }
+406    AUE_NULL        STD     { int linux_clock_getres_time64(void); }
+407    AUE_NULL        STD     { int linux_clock_nanosleep_time64(void); }
+408    AUE_NULL        STD     { int linux_timer_gettime64(void); }
+409    AUE_NULL        STD     { int linux_timer_settime64(void); }
+410    AUE_NULL        STD     { int linux_timerfd_gettime64(void); }
+411    AUE_NULL        STD     { int linux_timerfd_settime64(void); }
+412    AUE_NULL        STD     { int linux_utimensat_time64(void); }
+413    AUE_NULL        STD     { int linux_pselect6_time64(void); }
+414    AUE_NULL        STD     { int linux_ppoll_time64(void); }
+415    AUE_NULL        UNIMPL  nosys
+416    AUE_NULL        STD     { int linux_io_pgetevents_time64(void); }
+417    AUE_NULL        STD     { int linux_recvmmsg_time64(void); }
+418    AUE_NULL        STD     { int linux_mq_timedsend_time64(void); }
+419    AUE_NULL        STD     { int linux_mq_timedreceive_time64(void); }
+420    AUE_NULL        STD     { int linux_semtimedop_time64(void); }
+421    AUE_NULL        STD     { int linux_rt_sigtimedwait_time64(void); }
+422    AUE_NULL        STD     { int linux_futex_time64(void); }
+423    AUE_NULL        STD     { int linux_sched_rr_get_interval_time64(void); 
}
+424    AUE_NULL        STD     { int linux_pidfd_send_signal(l_int pidfd,      
\
+                                   l_int sig, l_siginfo_t *info, l_uint 
flags); }
+425    AUE_NULL        STD     { int linux_io_uring_setup(void); }
+426    AUE_NULL        STD     { int linux_io_uring_enter(void); }
+427    AUE_NULL        STD     { int linux_io_uring_register(void); }
 
 ; please, keep this line at the end.
-383    AUE_NULL        UNIMPL  nosys
+428    AUE_NULL        UNIMPL  nosys
 ; vim: syntax=off
_______________________________________________
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