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
This commit is contained in:
Dmitry Chagin 2019-03-24 14:50:02 +00:00
parent d9be8b39a5
commit f730d606d5
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=345471
8 changed files with 206 additions and 90 deletions

View File

@ -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 \

View File

@ -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

View File

@ -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 \

View File

@ -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

View File

@ -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_ */

View File

@ -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 {

View File

@ -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 \

View File

@ -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