summaryrefslogtreecommitdiffstats
path: root/sys/compat
diff options
context:
space:
mode:
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/freebsd32/freebsd32_proto.h39
-rw-r--r--sys/compat/freebsd32/freebsd32_syscall.h6
-rw-r--r--sys/compat/freebsd32/freebsd32_syscalls.c7
-rw-r--r--sys/compat/freebsd32/freebsd32_sysent.c7
-rw-r--r--sys/compat/freebsd32/freebsd32_systrace_args.c89
5 files changed, 143 insertions, 5 deletions
diff --git a/sys/compat/freebsd32/freebsd32_proto.h b/sys/compat/freebsd32/freebsd32_proto.h
index 775227b..fd319d8 100644
--- a/sys/compat/freebsd32/freebsd32_proto.h
+++ b/sys/compat/freebsd32/freebsd32_proto.h
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 255657 2013-09-17 20:48:19Z jilles
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 255708 2013-09-19 18:53:42Z jhb
*/
#ifndef _FREEBSD32_SYSPROTO_H_
@@ -670,6 +670,24 @@ struct freebsd32_cap_ioctls_get_args {
struct freebsd32_aio_mlock_args {
char aiocbp_l_[PADL_(struct aiocb32 *)]; struct aiocb32 * aiocbp; char aiocbp_r_[PADR_(struct aiocb32 *)];
};
+#ifdef PAD64_REQUIRED
+struct freebsd32_procctl_args {
+ char idtype_l_[PADL_(int)]; int idtype; char idtype_r_[PADR_(int)];
+ char pad_l_[PADL_(int)]; int pad; char pad_r_[PADR_(int)];
+ char id1_l_[PADL_(uint32_t)]; uint32_t id1; char id1_r_[PADR_(uint32_t)];
+ char id2_l_[PADL_(uint32_t)]; uint32_t id2; char id2_r_[PADR_(uint32_t)];
+ char com_l_[PADL_(int)]; int com; char com_r_[PADR_(int)];
+ char data_l_[PADL_(void *)]; void * data; char data_r_[PADR_(void *)];
+};
+#else
+struct freebsd32_procctl_args {
+ char idtype_l_[PADL_(int)]; int idtype; char idtype_r_[PADR_(int)];
+ char id1_l_[PADL_(uint32_t)]; uint32_t id1; char id1_r_[PADR_(uint32_t)];
+ char id2_l_[PADL_(uint32_t)]; uint32_t id2; char id2_r_[PADR_(uint32_t)];
+ char com_l_[PADL_(int)]; int com; char com_r_[PADR_(int)];
+ char data_l_[PADL_(void *)]; void * data; char data_r_[PADR_(void *)];
+};
+#endif
#if !defined(PAD64_REQUIRED) && (defined(__powerpc__) || defined(__mips__))
#define PAD64_REQUIRED
#endif
@@ -797,6 +815,11 @@ int freebsd32_wait6(struct thread *, struct freebsd32_wait6_args *);
int freebsd32_cap_ioctls_limit(struct thread *, struct freebsd32_cap_ioctls_limit_args *);
int freebsd32_cap_ioctls_get(struct thread *, struct freebsd32_cap_ioctls_get_args *);
int freebsd32_aio_mlock(struct thread *, struct freebsd32_aio_mlock_args *);
+#ifdef PAD64_REQUIRED
+int freebsd32_procctl(struct thread *, struct freebsd32_procctl_args *);
+#else
+int freebsd32_procctl(struct thread *, struct freebsd32_procctl_args *);
+#endif
#ifdef COMPAT_43
@@ -868,6 +891,9 @@ struct ofreebsd32_getdirentries_args {
#ifdef PAD64_REQUIRED
#else
#endif
+#ifdef PAD64_REQUIRED
+#else
+#endif
int ofreebsd32_lseek(struct thread *, struct ofreebsd32_lseek_args *);
int ofreebsd32_stat(struct thread *, struct ofreebsd32_stat_args *);
int ofreebsd32_lstat(struct thread *, struct ofreebsd32_lstat_args *);
@@ -936,6 +962,9 @@ struct freebsd4_freebsd32_sigreturn_args {
#ifdef PAD64_REQUIRED
#else
#endif
+#ifdef PAD64_REQUIRED
+#else
+#endif
int freebsd4_freebsd32_getfsstat(struct thread *, struct freebsd4_freebsd32_getfsstat_args *);
int freebsd4_freebsd32_statfs(struct thread *, struct freebsd4_freebsd32_statfs_args *);
int freebsd4_freebsd32_fstatfs(struct thread *, struct freebsd4_freebsd32_fstatfs_args *);
@@ -1006,6 +1035,9 @@ struct freebsd6_freebsd32_ftruncate_args {
#ifdef PAD64_REQUIRED
#else
#endif
+#ifdef PAD64_REQUIRED
+#else
+#endif
int freebsd6_freebsd32_pread(struct thread *, struct freebsd6_freebsd32_pread_args *);
int freebsd6_freebsd32_pwrite(struct thread *, struct freebsd6_freebsd32_pwrite_args *);
int freebsd6_freebsd32_mmap(struct thread *, struct freebsd6_freebsd32_mmap_args *);
@@ -1046,6 +1078,9 @@ struct freebsd7_freebsd32_shmctl_args {
#ifdef PAD64_REQUIRED
#else
#endif
+#ifdef PAD64_REQUIRED
+#else
+#endif
int freebsd7_freebsd32_semctl(struct thread *, struct freebsd7_freebsd32_semctl_args *);
int freebsd7_freebsd32_msgctl(struct thread *, struct freebsd7_freebsd32_msgctl_args *);
int freebsd7_freebsd32_shmctl(struct thread *, struct freebsd7_freebsd32_shmctl_args *);
@@ -1198,6 +1233,8 @@ int freebsd7_freebsd32_shmctl(struct thread *, struct freebsd7_freebsd32_shmctl_
#define FREEBSD32_SYS_AUE_freebsd32_cap_ioctls_limit AUE_CAP_IOCTLS_LIMIT
#define FREEBSD32_SYS_AUE_freebsd32_cap_ioctls_get AUE_CAP_IOCTLS_GET
#define FREEBSD32_SYS_AUE_freebsd32_aio_mlock AUE_NULL
+#define FREEBSD32_SYS_AUE_freebsd32_procctl AUE_NULL
+#define FREEBSD32_SYS_AUE_freebsd32_procctl AUE_NULL
#undef PAD_
#undef PADL_
diff --git a/sys/compat/freebsd32/freebsd32_syscall.h b/sys/compat/freebsd32/freebsd32_syscall.h
index 3728b2e..999e757 100644
--- a/sys/compat/freebsd32/freebsd32_syscall.h
+++ b/sys/compat/freebsd32/freebsd32_syscall.h
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 255657 2013-09-17 20:48:19Z jilles
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 255708 2013-09-19 18:53:42Z jhb
*/
#define FREEBSD32_SYS_syscall 0
@@ -452,4 +452,6 @@
#define FREEBSD32_SYS_accept4 541
#define FREEBSD32_SYS_pipe2 542
#define FREEBSD32_SYS_freebsd32_aio_mlock 543
-#define FREEBSD32_SYS_MAXSYSCALL 544
+#define FREEBSD32_SYS_freebsd32_procctl 544
+#define FREEBSD32_SYS_freebsd32_procctl 544
+#define FREEBSD32_SYS_MAXSYSCALL 545
diff --git a/sys/compat/freebsd32/freebsd32_syscalls.c b/sys/compat/freebsd32/freebsd32_syscalls.c
index 5ebef41..e2b5d2a 100644
--- a/sys/compat/freebsd32/freebsd32_syscalls.c
+++ b/sys/compat/freebsd32/freebsd32_syscalls.c
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 255657 2013-09-17 20:48:19Z jilles
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 255708 2013-09-19 18:53:42Z jhb
*/
const char *freebsd32_syscallnames[] = {
@@ -573,4 +573,9 @@ const char *freebsd32_syscallnames[] = {
"accept4", /* 541 = accept4 */
"pipe2", /* 542 = pipe2 */
"freebsd32_aio_mlock", /* 543 = freebsd32_aio_mlock */
+#ifdef PAD64_REQUIRED
+ "freebsd32_procctl", /* 544 = freebsd32_procctl */
+#else
+ "freebsd32_procctl", /* 544 = freebsd32_procctl */
+#endif
};
diff --git a/sys/compat/freebsd32/freebsd32_sysent.c b/sys/compat/freebsd32/freebsd32_sysent.c
index 1324b21..c4512dd 100644
--- a/sys/compat/freebsd32/freebsd32_sysent.c
+++ b/sys/compat/freebsd32/freebsd32_sysent.c
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 255657 2013-09-17 20:48:19Z jilles
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 255708 2013-09-19 18:53:42Z jhb
*/
#include "opt_compat.h"
@@ -610,4 +610,9 @@ struct sysent freebsd32_sysent[] = {
{ AS(accept4_args), (sy_call_t *)sys_accept4, AUE_ACCEPT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 541 = accept4 */
{ AS(pipe2_args), (sy_call_t *)sys_pipe2, AUE_PIPE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 542 = pipe2 */
{ AS(freebsd32_aio_mlock_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 543 = freebsd32_aio_mlock */
+#ifdef PAD64_REQUIRED
+ { AS(freebsd32_procctl_args), (sy_call_t *)freebsd32_procctl, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 544 = freebsd32_procctl */
+#else
+ { AS(freebsd32_procctl_args), (sy_call_t *)freebsd32_procctl, AUE_NULL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 544 = freebsd32_procctl */
+#endif
};
diff --git a/sys/compat/freebsd32/freebsd32_systrace_args.c b/sys/compat/freebsd32/freebsd32_systrace_args.c
index 0a67310..a03eac3 100644
--- a/sys/compat/freebsd32/freebsd32_systrace_args.c
+++ b/sys/compat/freebsd32/freebsd32_systrace_args.c
@@ -3287,6 +3287,32 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
*n_args = 1;
break;
}
+#ifdef PAD64_REQUIRED
+ /* freebsd32_procctl */
+ case 544: {
+ struct freebsd32_procctl_args *p = params;
+ iarg[0] = p->idtype; /* int */
+ iarg[1] = p->pad; /* int */
+ uarg[2] = p->id1; /* uint32_t */
+ uarg[3] = p->id2; /* uint32_t */
+ iarg[4] = p->com; /* int */
+ uarg[5] = (intptr_t) p->data; /* void * */
+ *n_args = 6;
+ break;
+ }
+#else
+ /* freebsd32_procctl */
+ case 544: {
+ struct freebsd32_procctl_args *p = params;
+ iarg[0] = p->idtype; /* int */
+ uarg[1] = p->id1; /* uint32_t */
+ uarg[2] = p->id2; /* uint32_t */
+ iarg[3] = p->com; /* int */
+ uarg[4] = (intptr_t) p->data; /* void * */
+ *n_args = 5;
+ break;
+ }
+#endif
default:
*n_args = 0;
break;
@@ -8802,6 +8828,56 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
+#ifdef PAD64_REQUIRED
+ /* freebsd32_procctl */
+ case 544:
+ switch(ndx) {
+ case 0:
+ p = "int";
+ break;
+ case 1:
+ p = "int";
+ break;
+ case 2:
+ p = "uint32_t";
+ break;
+ case 3:
+ p = "uint32_t";
+ break;
+ case 4:
+ p = "int";
+ break;
+ case 5:
+ p = "void *";
+ break;
+ default:
+ break;
+ };
+ break;
+#else
+ /* freebsd32_procctl */
+ case 544:
+ switch(ndx) {
+ case 0:
+ p = "int";
+ break;
+ case 1:
+ p = "uint32_t";
+ break;
+ case 2:
+ p = "uint32_t";
+ break;
+ case 3:
+ p = "int";
+ break;
+ case 4:
+ p = "void *";
+ break;
+ default:
+ break;
+ };
+ break;
+#endif
default:
break;
};
@@ -10672,6 +10748,19 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
if (ndx == 0 || ndx == 1)
p = "int";
break;
+#ifdef PAD64_REQUIRED
+ /* freebsd32_procctl */
+ case 544:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+#else
+ /* freebsd32_procctl */
+ case 544:
+ if (ndx == 0 || ndx == 1)
+ p = "int";
+ break;
+#endif
default:
break;
};
OpenPOWER on IntegriCloud