This commit is contained in:
Konstantin Belousov 2020-02-09 11:53:37 +00:00
parent 146fc63fce
commit f88c67a625
10 changed files with 68 additions and 3 deletions

View File

@ -499,4 +499,5 @@
#define FREEBSD32_SYS_freebsd32___sysctlbyname 570
#define FREEBSD32_SYS_shm_open2 571
#define FREEBSD32_SYS_shm_rename 572
#define FREEBSD32_SYS_MAXSYSCALL 573
#define FREEBSD32_SYS_sigfastblock 573
#define FREEBSD32_SYS_MAXSYSCALL 574

View File

@ -609,4 +609,5 @@ const char *freebsd32_syscallnames[] = {
"freebsd32___sysctlbyname", /* 570 = freebsd32___sysctlbyname */
"shm_open2", /* 571 = shm_open2 */
"shm_rename", /* 572 = shm_rename */
"sigfastblock", /* 573 = sigfastblock */
};

View File

@ -662,4 +662,5 @@ struct sysent freebsd32_sysent[] = {
{ AS(freebsd32___sysctlbyname_args), (sy_call_t *)freebsd32___sysctlbyname, AUE_SYSCTL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 570 = freebsd32___sysctlbyname */
{ AS(shm_open2_args), (sy_call_t *)sys_shm_open2, AUE_SHMOPEN, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 571 = shm_open2 */
{ AS(shm_rename_args), (sy_call_t *)sys_shm_rename, AUE_SHMRENAME, NULL, 0, 0, 0, SY_THR_STATIC }, /* 572 = shm_rename */
{ AS(sigfastblock_args), (sy_call_t *)sys_sigfastblock, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 573 = sigfastblock */
};

View File

@ -3355,6 +3355,14 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 3;
break;
}
/* sigfastblock */
case 573: {
struct sigfastblock_args *p = params;
iarg[0] = p->cmd; /* int */
uarg[1] = (intptr_t) p->ptr; /* uint32_t * */
*n_args = 2;
break;
}
default:
*n_args = 0;
break;
@ -9041,6 +9049,19 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
/* sigfastblock */
case 573:
switch(ndx) {
case 0:
p = "int";
break;
case 1:
p = "userland uint32_t *";
break;
default:
break;
};
break;
default:
break;
};
@ -10930,6 +10951,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
if (ndx == 0 || ndx == 1)
p = "int";
break;
/* sigfastblock */
case 573:
if (ndx == 0 || ndx == 1)
p = "int";
break;
default:
break;
};

View File

@ -628,4 +628,5 @@ struct sysent sysent[] = {
{ AS(__sysctlbyname_args), (sy_call_t *)sys___sysctlbyname, AUE_SYSCTL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 570 = __sysctlbyname */
{ AS(shm_open2_args), (sy_call_t *)sys_shm_open2, AUE_SHMOPEN, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 571 = shm_open2 */
{ AS(shm_rename_args), (sy_call_t *)sys_shm_rename, AUE_SHMRENAME, NULL, 0, 0, 0, SY_THR_STATIC }, /* 572 = shm_rename */
{ AS(sigfastblock_args), (sy_call_t *)sys_sigfastblock, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 573 = sigfastblock */
};

View File

@ -579,4 +579,5 @@ const char *syscallnames[] = {
"__sysctlbyname", /* 570 = __sysctlbyname */
"shm_open2", /* 571 = shm_open2 */
"shm_rename", /* 572 = shm_rename */
"sigfastblock", /* 573 = sigfastblock */
};

View File

@ -3347,6 +3347,14 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 3;
break;
}
/* sigfastblock */
case 573: {
struct sigfastblock_args *p = params;
iarg[0] = p->cmd; /* int */
uarg[1] = (intptr_t) p->ptr; /* uint32_t * */
*n_args = 2;
break;
}
default:
*n_args = 0;
break;
@ -8946,6 +8954,19 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
/* sigfastblock */
case 573:
switch(ndx) {
case 0:
p = "int";
break;
case 1:
p = "userland uint32_t *";
break;
default:
break;
};
break;
default:
break;
};
@ -10862,6 +10883,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
if (ndx == 0 || ndx == 1)
p = "int";
break;
/* sigfastblock */
case 573:
if (ndx == 0 || ndx == 1)
p = "int";
break;
default:
break;
};

View File

@ -508,4 +508,5 @@
#define SYS___sysctlbyname 570
#define SYS_shm_open2 571
#define SYS_shm_rename 572
#define SYS_MAXSYSCALL 573
#define SYS_sigfastblock 573
#define SYS_MAXSYSCALL 574

View File

@ -413,4 +413,5 @@ MIASM = \
copy_file_range.o \
__sysctlbyname.o \
shm_open2.o \
shm_rename.o
shm_rename.o \
sigfastblock.o

View File

@ -1819,6 +1819,10 @@ struct shm_rename_args {
char path_to_l_[PADL_(const char *)]; const char * path_to; char path_to_r_[PADR_(const char *)];
char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)];
};
struct sigfastblock_args {
char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)];
char ptr_l_[PADL_(uint32_t *)]; uint32_t * ptr; char ptr_r_[PADR_(uint32_t *)];
};
int nosys(struct thread *, struct nosys_args *);
void sys_sys_exit(struct thread *, struct sys_exit_args *);
int sys_fork(struct thread *, struct fork_args *);
@ -2207,6 +2211,7 @@ int sys_copy_file_range(struct thread *, struct copy_file_range_args *);
int sys___sysctlbyname(struct thread *, struct __sysctlbyname_args *);
int sys_shm_open2(struct thread *, struct shm_open2_args *);
int sys_shm_rename(struct thread *, struct shm_rename_args *);
int sys_sigfastblock(struct thread *, struct sigfastblock_args *);
#ifdef COMPAT_43
@ -3130,6 +3135,7 @@ int freebsd12_shm_open(struct thread *, struct freebsd12_shm_open_args *);
#define SYS_AUE___sysctlbyname AUE_SYSCTL
#define SYS_AUE_shm_open2 AUE_SHMOPEN
#define SYS_AUE_shm_rename AUE_SHMRENAME
#define SYS_AUE_sigfastblock AUE_NULL
#undef PAD_
#undef PADL_