summaryrefslogtreecommitdiff
path: root/sys/compat/freebsd32/freebsd32_systrace_args.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/compat/freebsd32/freebsd32_systrace_args.c')
-rw-r--r--sys/compat/freebsd32/freebsd32_systrace_args.c85
1 files changed, 70 insertions, 15 deletions
diff --git a/sys/compat/freebsd32/freebsd32_systrace_args.c b/sys/compat/freebsd32/freebsd32_systrace_args.c
index 745e739ca0120..efe526910d58f 100644
--- a/sys/compat/freebsd32/freebsd32_systrace_args.c
+++ b/sys/compat/freebsd32/freebsd32_systrace_args.c
@@ -935,9 +935,9 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 0;
break;
}
- /* freebsd32_sysctl */
+ /* freebsd32___sysctl */
case 202: {
- struct freebsd32_sysctl_args *p = params;
+ struct freebsd32___sysctl_args *p = params;
uarg[0] = (intptr_t) p->name; /* int * */
uarg[1] = p->namelen; /* u_int */
uarg[2] = (intptr_t) p->old; /* void * */
@@ -2182,9 +2182,9 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 1;
break;
}
- /* freebsd32_umtx_op */
+ /* freebsd32__umtx_op */
case 454: {
- struct freebsd32_umtx_op_args *p = params;
+ struct freebsd32__umtx_op_args *p = params;
uarg[0] = (intptr_t) p->obj; /* void * */
iarg[1] = p->op; /* int */
uarg[2] = p->val; /* u_long */
@@ -3201,16 +3201,32 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 2;
break;
}
- /* mknodat */
+#ifdef PAD64_REQUIRED
+ /* freebsd32_mknodat */
case 559: {
- struct mknodat_args *p = params;
+ struct freebsd32_mknodat_args *p = params;
iarg[0] = p->fd; /* int */
uarg[1] = (intptr_t) p->path; /* const char * */
iarg[2] = p->mode; /* mode_t */
- iarg[3] = p->dev; /* dev_t */
- *n_args = 4;
+ iarg[3] = p->pad; /* int */
+ uarg[4] = p->dev1; /* uint32_t */
+ uarg[5] = p->dev2; /* uint32_t */
+ *n_args = 6;
break;
}
+#else
+ /* freebsd32_mknodat */
+ case 559: {
+ struct freebsd32_mknodat_args *p = params;
+ iarg[0] = p->fd; /* int */
+ uarg[1] = (intptr_t) p->path; /* const char * */
+ iarg[2] = p->mode; /* mode_t */
+ uarg[3] = p->dev1; /* uint32_t */
+ uarg[4] = p->dev2; /* uint32_t */
+ *n_args = 5;
+ break;
+ }
+#endif
/* freebsd32_kevent */
case 560: {
struct freebsd32_kevent_args *p = params;
@@ -4755,7 +4771,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
/* nosys */
case 198:
break;
- /* freebsd32_sysctl */
+ /* freebsd32___sysctl */
case 202:
switch(ndx) {
case 0:
@@ -6765,7 +6781,7 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
- /* freebsd32_umtx_op */
+ /* freebsd32__umtx_op */
case 454:
switch(ndx) {
case 0:
@@ -8642,7 +8658,8 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
- /* mknodat */
+#ifdef PAD64_REQUIRED
+ /* freebsd32_mknodat */
case 559:
switch(ndx) {
case 0:
@@ -8655,12 +8672,42 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
p = "mode_t";
break;
case 3:
- p = "dev_t";
+ p = "int";
+ break;
+ case 4:
+ p = "uint32_t";
+ break;
+ case 5:
+ p = "uint32_t";
break;
default:
break;
};
break;
+#else
+ /* freebsd32_mknodat */
+ case 559:
+ switch(ndx) {
+ case 0:
+ p = "int";
+ break;
+ case 1:
+ p = "userland const char *";
+ break;
+ case 2:
+ p = "mode_t";
+ break;
+ case 3:
+ p = "uint32_t";
+ break;
+ case 4:
+ p = "uint32_t";
+ break;
+ default:
+ break;
+ };
+ break;
+#endif
/* freebsd32_kevent */
case 560:
switch(ndx) {
@@ -9305,7 +9352,7 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
/* nosys */
case 198:
- /* freebsd32_sysctl */
+ /* freebsd32___sysctl */
case 202:
if (ndx == 0 || ndx == 1)
p = "int";
@@ -10040,7 +10087,7 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
if (ndx == 0 || ndx == 1)
p = "int";
break;
- /* freebsd32_umtx_op */
+ /* freebsd32__umtx_op */
case 454:
if (ndx == 0 || ndx == 1)
p = "int";
@@ -10574,11 +10621,19 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
if (ndx == 0 || ndx == 1)
p = "int";
break;
- /* mknodat */
+#ifdef PAD64_REQUIRED
+ /* freebsd32_mknodat */
+ case 559:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+#else
+ /* freebsd32_mknodat */
case 559:
if (ndx == 0 || ndx == 1)
p = "int";
break;
+#endif
/* freebsd32_kevent */
case 560:
if (ndx == 0 || ndx == 1)