Date: Sun, 24 Mar 2019 14:50:03 +0000 (UTC) From: Dmitry Chagin <dchagin@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r345471 - in head/sys: amd64/linux amd64/linux32 compat/linux i386/linux Message-ID: <201903241450.x2OEo3Cl084354@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201903241450.x2OEo3Cl084354>