This commit is contained in:
Konstantin Belousov 2021-07-28 01:00:18 +03:00
parent 9b6b793bd7
commit 273728b125
9 changed files with 34 additions and 8 deletions

View File

@ -1193,6 +1193,12 @@ int freebsd7_freebsd32_shmctl(struct thread *, struct freebsd7_freebsd32_shmctl_
#if !defined(PAD64_REQUIRED) && !defined(__amd64__)
#define PAD64_REQUIRED
#endif
struct freebsd10_freebsd32_umtx_lock_args {
char umtx_l_[PADL_(struct umtx *)]; struct umtx * umtx; char umtx_r_[PADR_(struct umtx *)];
};
struct freebsd10_freebsd32_umtx_unlock_args {
char umtx_l_[PADL_(struct umtx *)]; struct umtx * umtx; char umtx_r_[PADR_(struct umtx *)];
};
#ifdef PAD64_REQUIRED
#else
#endif
@ -1209,6 +1215,8 @@ int freebsd7_freebsd32_shmctl(struct thread *, struct freebsd7_freebsd32_shmctl_
#else
#endif
int freebsd10_freebsd32_pipe(struct thread *, struct freebsd10_freebsd32_pipe_args *);
int freebsd10_freebsd32_umtx_lock(struct thread *, struct freebsd10_freebsd32_umtx_lock_args *);
int freebsd10_freebsd32_umtx_unlock(struct thread *, struct freebsd10_freebsd32_umtx_unlock_args *);
#endif /* COMPAT_FREEBSD10 */
@ -1414,6 +1422,8 @@ int freebsd11_freebsd32_fstatat(struct thread *, struct freebsd11_freebsd32_fsta
#define FREEBSD32_SYS_AUE_freebsd32_getcontext AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_setcontext AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_swapcontext AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd10_freebsd32_umtx_lock AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd10_freebsd32_umtx_unlock AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_ksem_timedwait AUE_SEMWAIT
#define FREEBSD32_SYS_AUE_freebsd32_thr_suspend AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32__umtx_op AUE_NULL

View File

@ -356,6 +356,8 @@
#define FREEBSD32_SYS_thr_exit 431
#define FREEBSD32_SYS_thr_self 432
#define FREEBSD32_SYS_thr_kill 433
#define FREEBSD32_SYS_freebsd10_freebsd32_umtx_lock 434
#define FREEBSD32_SYS_freebsd10_freebsd32_umtx_unlock 435
#define FREEBSD32_SYS_jail_attach 436
#define FREEBSD32_SYS_extattr_list_fd 437
#define FREEBSD32_SYS_extattr_list_file 438

View File

@ -443,8 +443,8 @@ const char *freebsd32_syscallnames[] = {
"thr_exit", /* 431 = thr_exit */
"thr_self", /* 432 = thr_self */
"thr_kill", /* 433 = thr_kill */
"#434", /* 434 = nosys */
"#435", /* 435 = nosys */
"compat10.freebsd32_umtx_lock", /* 434 = freebsd10 freebsd32_umtx_lock */
"compat10.freebsd32_umtx_unlock", /* 435 = freebsd10 freebsd32_umtx_unlock */
"jail_attach", /* 436 = jail_attach */
"extattr_list_fd", /* 437 = extattr_list_fd */
"extattr_list_file", /* 438 = extattr_list_file */

View File

@ -496,8 +496,8 @@ struct sysent freebsd32_sysent[] = {
{ .sy_narg = AS(thr_exit_args), .sy_call = (sy_call_t *)sys_thr_exit, .sy_auevent = AUE_THR_EXIT, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 431 = thr_exit */
{ .sy_narg = AS(thr_self_args), .sy_call = (sy_call_t *)sys_thr_self, .sy_auevent = AUE_NULL, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 432 = thr_self */
{ .sy_narg = AS(thr_kill_args), .sy_call = (sy_call_t *)sys_thr_kill, .sy_auevent = AUE_THR_KILL, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 433 = thr_kill */
{ .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 434 = nosys */
{ .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 435 = nosys */
{ compat10(AS(freebsd10_freebsd32_umtx_lock_args),freebsd32_umtx_lock), .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 434 = freebsd10 freebsd32_umtx_lock */
{ compat10(AS(freebsd10_freebsd32_umtx_unlock_args),freebsd32_umtx_unlock), .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 435 = freebsd10 freebsd32_umtx_unlock */
{ .sy_narg = AS(jail_attach_args), .sy_call = (sy_call_t *)sys_jail_attach, .sy_auevent = AUE_JAIL_ATTACH, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 436 = jail_attach */
{ .sy_narg = AS(extattr_list_fd_args), .sy_call = (sy_call_t *)sys_extattr_list_fd, .sy_auevent = AUE_EXTATTR_LIST_FD, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 437 = extattr_list_fd */
{ .sy_narg = AS(extattr_list_file_args), .sy_call = (sy_call_t *)sys_extattr_list_file, .sy_auevent = AUE_EXTATTR_LIST_FILE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 438 = extattr_list_file */

View File

@ -489,8 +489,8 @@ struct sysent sysent[] = {
{ .sy_narg = AS(thr_exit_args), .sy_call = (sy_call_t *)sys_thr_exit, .sy_auevent = AUE_THR_EXIT, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 431 = thr_exit */
{ .sy_narg = AS(thr_self_args), .sy_call = (sy_call_t *)sys_thr_self, .sy_auevent = AUE_NULL, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 432 = thr_self */
{ .sy_narg = AS(thr_kill_args), .sy_call = (sy_call_t *)sys_thr_kill, .sy_auevent = AUE_THR_KILL, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 433 = thr_kill */
{ .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 434 = reserved for local use */
{ .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT }, /* 435 = reserved for local use */
{ compat10(AS(freebsd10__umtx_lock_args),_umtx_lock), .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 434 = freebsd10 _umtx_lock */
{ compat10(AS(freebsd10__umtx_unlock_args),_umtx_unlock), .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 435 = freebsd10 _umtx_unlock */
{ .sy_narg = AS(jail_attach_args), .sy_call = (sy_call_t *)sys_jail_attach, .sy_auevent = AUE_JAIL_ATTACH, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 436 = jail_attach */
{ .sy_narg = AS(extattr_list_fd_args), .sy_call = (sy_call_t *)sys_extattr_list_fd, .sy_auevent = AUE_EXTATTR_LIST_FD, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC }, /* 437 = extattr_list_fd */
{ .sy_narg = AS(extattr_list_file_args), .sy_call = (sy_call_t *)sys_extattr_list_file, .sy_auevent = AUE_EXTATTR_LIST_FILE, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC }, /* 438 = extattr_list_file */

View File

@ -440,8 +440,8 @@ const char *syscallnames[] = {
"thr_exit", /* 431 = thr_exit */
"thr_self", /* 432 = thr_self */
"thr_kill", /* 433 = thr_kill */
"#434", /* 434 = reserved for local use */
"#435", /* 435 = reserved for local use */
"compat10._umtx_lock", /* 434 = freebsd10 _umtx_lock */
"compat10._umtx_unlock", /* 435 = freebsd10 _umtx_unlock */
"jail_attach", /* 436 = jail_attach */
"extattr_list_fd", /* 437 = extattr_list_fd */
"extattr_list_file", /* 438 = extattr_list_file */

View File

@ -376,6 +376,8 @@
#define SYS_thr_exit 431
#define SYS_thr_self 432
#define SYS_thr_kill 433
#define SYS_freebsd10__umtx_lock 434
#define SYS_freebsd10__umtx_unlock 435
#define SYS_jail_attach 436
#define SYS_extattr_list_fd 437
#define SYS_extattr_list_file 438

View File

@ -286,6 +286,8 @@ MIASM = \
thr_exit.o \
thr_self.o \
thr_kill.o \
freebsd10__umtx_lock.o \
freebsd10__umtx_unlock.o \
jail_attach.o \
extattr_list_fd.o \
extattr_list_file.o \

View File

@ -2573,7 +2573,15 @@ int freebsd7_shmctl(struct thread *, struct freebsd7_shmctl_args *);
#ifdef COMPAT_FREEBSD10
struct freebsd10__umtx_lock_args {
char umtx_l_[PADL_(struct umtx *)]; struct umtx * umtx; char umtx_r_[PADR_(struct umtx *)];
};
struct freebsd10__umtx_unlock_args {
char umtx_l_[PADL_(struct umtx *)]; struct umtx * umtx; char umtx_r_[PADR_(struct umtx *)];
};
int freebsd10_pipe(struct thread *, struct freebsd10_pipe_args *);
int freebsd10__umtx_lock(struct thread *, struct freebsd10__umtx_lock_args *);
int freebsd10__umtx_unlock(struct thread *, struct freebsd10__umtx_unlock_args *);
#endif /* COMPAT_FREEBSD10 */
@ -3040,6 +3048,8 @@ int freebsd12_closefrom(struct thread *, struct freebsd12_closefrom_args *);
#define SYS_AUE_thr_exit AUE_THR_EXIT
#define SYS_AUE_thr_self AUE_NULL
#define SYS_AUE_thr_kill AUE_THR_KILL
#define SYS_AUE_freebsd10__umtx_lock AUE_NULL
#define SYS_AUE_freebsd10__umtx_unlock AUE_NULL
#define SYS_AUE_jail_attach AUE_JAIL_ATTACH
#define SYS_AUE_extattr_list_fd AUE_EXTATTR_LIST_FD
#define SYS_AUE_extattr_list_file AUE_EXTATTR_LIST_FILE