aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/compat/freebsd32/freebsd32_proto.h74
-rw-r--r--sys/compat/freebsd32/freebsd32_syscall.h13
-rw-r--r--sys/compat/freebsd32/freebsd32_syscalls.c11
-rw-r--r--sys/compat/freebsd32/freebsd32_sysent.c17
-rw-r--r--sys/kern/init_sysent.c17
-rw-r--r--sys/kern/syscalls.c11
-rw-r--r--sys/kern/systrace_args.c158
-rw-r--r--sys/sys/syscall.h13
-rw-r--r--sys/sys/syscall.mk13
-rw-r--r--sys/sys/sysproto.h74
10 files changed, 245 insertions, 156 deletions
diff --git a/sys/compat/freebsd32/freebsd32_proto.h b/sys/compat/freebsd32/freebsd32_proto.h
index e8aa4f102ed9..7d4f78d692f4 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 194645 2009-06-22 20:12:40Z jhb
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194910 2009-06-24 21:10:52Z jhb
*/
#ifndef _FREEBSD32_SYSPROTO_H_
@@ -174,17 +174,6 @@ struct freebsd32_futimes_args {
char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
char tptr_l_[PADL_(struct timeval32 *)]; struct timeval32 * tptr; char tptr_r_[PADR_(struct timeval32 *)];
};
-struct freebsd32_semctl_args {
- char semid_l_[PADL_(int)]; int semid; char semid_r_[PADR_(int)];
- char semnum_l_[PADL_(int)]; int semnum; char semnum_r_[PADR_(int)];
- char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)];
- char arg_l_[PADL_(union semun32 *)]; union semun32 * arg; char arg_r_[PADR_(union semun32 *)];
-};
-struct freebsd32_msgctl_args {
- char msqid_l_[PADL_(int)]; int msqid; char msqid_r_[PADR_(int)];
- char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)];
- char buf_l_[PADL_(struct msqid_ds32 *)]; struct msqid_ds32 * buf; char buf_r_[PADR_(struct msqid_ds32 *)];
-};
struct freebsd32_msgsnd_args {
char msqid_l_[PADL_(int)]; int msqid; char msqid_r_[PADR_(int)];
char msgp_l_[PADL_(void *)]; void * msgp; char msgp_r_[PADR_(void *)];
@@ -198,11 +187,6 @@ struct freebsd32_msgrcv_args {
char msgtyp_l_[PADL_(long)]; long msgtyp; char msgtyp_r_[PADR_(long)];
char msgflg_l_[PADL_(int)]; int msgflg; char msgflg_r_[PADR_(int)];
};
-struct freebsd32_shmctl_args {
- char shmid_l_[PADL_(int)]; int shmid; char shmid_r_[PADR_(int)];
- char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)];
- char buf_l_[PADL_(struct shmid_ds *)]; struct shmid_ds * buf; char buf_r_[PADR_(struct shmid_ds *)];
-};
struct freebsd32_clock_gettime_args {
char clock_id_l_[PADL_(clockid_t)]; clockid_t clock_id; char clock_id_r_[PADR_(clockid_t)];
char tp_l_[PADL_(struct timespec32 *)]; struct timespec32 * tp; char tp_r_[PADR_(struct timespec32 *)];
@@ -453,6 +437,22 @@ struct freebsd32_jail_set_args {
char iovcnt_l_[PADL_(unsigned int)]; unsigned int iovcnt; char iovcnt_r_[PADR_(unsigned int)];
char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)];
};
+struct freebsd32_semctl_args {
+ char semid_l_[PADL_(int)]; int semid; char semid_r_[PADR_(int)];
+ char semnum_l_[PADL_(int)]; int semnum; char semnum_r_[PADR_(int)];
+ char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)];
+ char arg_l_[PADL_(union semun32 *)]; union semun32 * arg; char arg_r_[PADR_(union semun32 *)];
+};
+struct freebsd32_msgctl_args {
+ char msqid_l_[PADL_(int)]; int msqid; char msqid_r_[PADR_(int)];
+ char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)];
+ char buf_l_[PADL_(struct msqid_ds32 *)]; struct msqid_ds32 * buf; char buf_r_[PADR_(struct msqid_ds32 *)];
+};
+struct freebsd32_shmctl_args {
+ char shmid_l_[PADL_(int)]; int shmid; char shmid_r_[PADR_(int)];
+ char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)];
+ char buf_l_[PADL_(struct shmid_ds32 *)]; struct shmid_ds32 * buf; char buf_r_[PADR_(struct shmid_ds32 *)];
+};
int freebsd32_wait4(struct thread *, struct freebsd32_wait4_args *);
int freebsd32_recvmsg(struct thread *, struct freebsd32_recvmsg_args *);
int freebsd32_sendmsg(struct thread *, struct freebsd32_sendmsg_args *);
@@ -480,11 +480,8 @@ int freebsd32_lstat(struct thread *, struct freebsd32_lstat_args *);
int freebsd32_getdirentries(struct thread *, struct freebsd32_getdirentries_args *);
int freebsd32_sysctl(struct thread *, struct freebsd32_sysctl_args *);
int freebsd32_futimes(struct thread *, struct freebsd32_futimes_args *);
-int freebsd32_semctl(struct thread *, struct freebsd32_semctl_args *);
-int freebsd32_msgctl(struct thread *, struct freebsd32_msgctl_args *);
int freebsd32_msgsnd(struct thread *, struct freebsd32_msgsnd_args *);
int freebsd32_msgrcv(struct thread *, struct freebsd32_msgrcv_args *);
-int freebsd32_shmctl(struct thread *, struct freebsd32_shmctl_args *);
int freebsd32_clock_gettime(struct thread *, struct freebsd32_clock_gettime_args *);
int freebsd32_clock_settime(struct thread *, struct freebsd32_clock_settime_args *);
int freebsd32_clock_getres(struct thread *, struct freebsd32_clock_getres_args *);
@@ -536,6 +533,9 @@ int freebsd32_fstatat(struct thread *, struct freebsd32_fstatat_args *);
int freebsd32_futimesat(struct thread *, struct freebsd32_futimesat_args *);
int freebsd32_jail_get(struct thread *, struct freebsd32_jail_get_args *);
int freebsd32_jail_set(struct thread *, struct freebsd32_jail_set_args *);
+int freebsd32_semctl(struct thread *, struct freebsd32_semctl_args *);
+int freebsd32_msgctl(struct thread *, struct freebsd32_msgctl_args *);
+int freebsd32_shmctl(struct thread *, struct freebsd32_shmctl_args *);
#ifdef COMPAT_43
@@ -682,6 +682,31 @@ int freebsd6_freebsd32_ftruncate(struct thread *, struct freebsd6_freebsd32_ftru
#endif /* COMPAT_FREEBSD6 */
+
+#ifdef COMPAT_FREEBSD7
+
+struct freebsd7_freebsd32_semctl_args {
+ char semid_l_[PADL_(int)]; int semid; char semid_r_[PADR_(int)];
+ char semnum_l_[PADL_(int)]; int semnum; char semnum_r_[PADR_(int)];
+ char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)];
+ char arg_l_[PADL_(union semun32 *)]; union semun32 * arg; char arg_r_[PADR_(union semun32 *)];
+};
+struct freebsd7_freebsd32_msgctl_args {
+ char msqid_l_[PADL_(int)]; int msqid; char msqid_r_[PADR_(int)];
+ char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)];
+ char buf_l_[PADL_(struct msqid_ds32_old *)]; struct msqid_ds32_old * buf; char buf_r_[PADR_(struct msqid_ds32_old *)];
+};
+struct freebsd7_freebsd32_shmctl_args {
+ char shmid_l_[PADL_(int)]; int shmid; char shmid_r_[PADR_(int)];
+ char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)];
+ char buf_l_[PADL_(struct shmid_ds32_old *)]; struct shmid_ds32_old * buf; char buf_r_[PADR_(struct shmid_ds32_old *)];
+};
+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 *);
+
+#endif /* COMPAT_FREEBSD7 */
+
#define FREEBSD32_SYS_AUE_freebsd32_wait4 AUE_WAIT4
#define FREEBSD32_SYS_AUE_freebsd4_freebsd32_getfsstat AUE_GETFSSTAT
#define FREEBSD32_SYS_AUE_freebsd32_recvmsg AUE_RECVMSG
@@ -726,11 +751,11 @@ int freebsd6_freebsd32_ftruncate(struct thread *, struct freebsd6_freebsd32_ftru
#define FREEBSD32_SYS_AUE_freebsd6_freebsd32_ftruncate AUE_FTRUNCATE
#define FREEBSD32_SYS_AUE_freebsd32_sysctl AUE_SYSCTL
#define FREEBSD32_SYS_AUE_freebsd32_futimes AUE_FUTIMES
-#define FREEBSD32_SYS_AUE_freebsd32_semctl AUE_SEMCTL
-#define FREEBSD32_SYS_AUE_freebsd32_msgctl AUE_MSGCTL
+#define FREEBSD32_SYS_AUE_freebsd7_freebsd32_semctl AUE_SEMCTL
+#define FREEBSD32_SYS_AUE_freebsd7_freebsd32_msgctl AUE_MSGCTL
#define FREEBSD32_SYS_AUE_freebsd32_msgsnd AUE_MSGSND
#define FREEBSD32_SYS_AUE_freebsd32_msgrcv AUE_MSGRCV
-#define FREEBSD32_SYS_AUE_freebsd32_shmctl AUE_SHMCTL
+#define FREEBSD32_SYS_AUE_freebsd7_freebsd32_shmctl AUE_SHMCTL
#define FREEBSD32_SYS_AUE_freebsd32_clock_gettime AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_clock_settime AUE_CLOCK_SETTIME
#define FREEBSD32_SYS_AUE_freebsd32_clock_getres AUE_NULL
@@ -786,6 +811,9 @@ int freebsd6_freebsd32_ftruncate(struct thread *, struct freebsd6_freebsd32_ftru
#define FREEBSD32_SYS_AUE_freebsd32_futimesat AUE_FUTIMESAT
#define FREEBSD32_SYS_AUE_freebsd32_jail_get AUE_NULL
#define FREEBSD32_SYS_AUE_freebsd32_jail_set AUE_NULL
+#define FREEBSD32_SYS_AUE_freebsd32_semctl AUE_SEMCTL
+#define FREEBSD32_SYS_AUE_freebsd32_msgctl AUE_MSGCTL
+#define FREEBSD32_SYS_AUE_freebsd32_shmctl AUE_SHMCTL
#undef PAD_
#undef PADL_
diff --git a/sys/compat/freebsd32/freebsd32_syscall.h b/sys/compat/freebsd32/freebsd32_syscall.h
index 0378fcd1ebc9..8dc9b9781782 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 194645 2009-06-22 20:12:40Z jhb
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194910 2009-06-24 21:10:52Z jhb
*/
#define FREEBSD32_SYS_syscall 0
@@ -190,15 +190,15 @@
#define FREEBSD32_SYS_freebsd32_futimes 206
#define FREEBSD32_SYS_getpgid 207
#define FREEBSD32_SYS_poll 209
-#define FREEBSD32_SYS_freebsd32_semctl 220
+#define FREEBSD32_SYS_freebsd7_freebsd32_semctl 220
#define FREEBSD32_SYS_semget 221
#define FREEBSD32_SYS_semop 222
-#define FREEBSD32_SYS_freebsd32_msgctl 224
+#define FREEBSD32_SYS_freebsd7_freebsd32_msgctl 224
#define FREEBSD32_SYS_msgget 225
#define FREEBSD32_SYS_freebsd32_msgsnd 226
#define FREEBSD32_SYS_freebsd32_msgrcv 227
#define FREEBSD32_SYS_shmat 228
-#define FREEBSD32_SYS_freebsd32_shmctl 229
+#define FREEBSD32_SYS_freebsd7_freebsd32_shmctl 229
#define FREEBSD32_SYS_shmdt 230
#define FREEBSD32_SYS_shmget 231
#define FREEBSD32_SYS_freebsd32_clock_gettime 232
@@ -378,4 +378,7 @@
#define FREEBSD32_SYS_freebsd32_jail_set 507
#define FREEBSD32_SYS_jail_remove 508
#define FREEBSD32_SYS_closefrom 509
-#define FREEBSD32_SYS_MAXSYSCALL 510
+#define FREEBSD32_SYS_freebsd32_semctl 510
+#define FREEBSD32_SYS_freebsd32_msgctl 511
+#define FREEBSD32_SYS_freebsd32_shmctl 512
+#define FREEBSD32_SYS_MAXSYSCALL 513
diff --git a/sys/compat/freebsd32/freebsd32_syscalls.c b/sys/compat/freebsd32/freebsd32_syscalls.c
index ceca33a9f006..b59b0895b24b 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 194645 2009-06-22 20:12:40Z jhb
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194910 2009-06-24 21:10:52Z jhb
*/
const char *freebsd32_syscallnames[] = {
@@ -227,16 +227,16 @@ const char *freebsd32_syscallnames[] = {
"lkmnosys", /* 217 = lkmnosys */
"lkmnosys", /* 218 = lkmnosys */
"lkmnosys", /* 219 = lkmnosys */
- "freebsd32_semctl", /* 220 = freebsd32_semctl */
+ "compat7.freebsd32_semctl", /* 220 = freebsd7 freebsd32_semctl */
"semget", /* 221 = semget */
"semop", /* 222 = semop */
"#223", /* 223 = semconfig */
- "freebsd32_msgctl", /* 224 = freebsd32_msgctl */
+ "compat7.freebsd32_msgctl", /* 224 = freebsd7 freebsd32_msgctl */
"msgget", /* 225 = msgget */
"freebsd32_msgsnd", /* 226 = freebsd32_msgsnd */
"freebsd32_msgrcv", /* 227 = freebsd32_msgrcv */
"shmat", /* 228 = shmat */
- "freebsd32_shmctl", /* 229 = freebsd32_shmctl */
+ "compat7.freebsd32_shmctl", /* 229 = freebsd7 freebsd32_shmctl */
"shmdt", /* 230 = shmdt */
"shmget", /* 231 = shmget */
"freebsd32_clock_gettime", /* 232 = freebsd32_clock_gettime */
@@ -517,4 +517,7 @@ const char *freebsd32_syscallnames[] = {
"freebsd32_jail_set", /* 507 = freebsd32_jail_set */
"jail_remove", /* 508 = jail_remove */
"closefrom", /* 509 = closefrom */
+ "freebsd32_semctl", /* 510 = freebsd32_semctl */
+ "freebsd32_msgctl", /* 511 = freebsd32_msgctl */
+ "freebsd32_shmctl", /* 512 = freebsd32_shmctl */
};
diff --git a/sys/compat/freebsd32/freebsd32_sysent.c b/sys/compat/freebsd32/freebsd32_sysent.c
index b69dbd6d4575..27d821fed774 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 194645 2009-06-22 20:12:40Z jhb
+ * created from FreeBSD: head/sys/compat/freebsd32/syscalls.master 194910 2009-06-24 21:10:52Z jhb
*/
#include "opt_compat.h"
@@ -36,6 +36,12 @@
#define compat6(n, name) 0, (sy_call_t *)nosys
#endif
+#ifdef COMPAT_FREEBSD7
+#define compat7(n, name) n, (sy_call_t *)__CONCAT(freebsd7_,name)
+#else
+#define compat7(n, name) 0, (sy_call_t *)nosys
+#endif
+
/* The casts are bogus but will do for now. */
struct sysent freebsd32_sysent[] = {
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 0 = syscall */
@@ -258,16 +264,16 @@ struct sysent freebsd32_sysent[] = {
{ AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0, 0 }, /* 217 = lkmnosys */
{ AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0, 0 }, /* 218 = lkmnosys */
{ AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0, 0 }, /* 219 = lkmnosys */
- { AS(freebsd32_semctl_args), (sy_call_t *)freebsd32_semctl, AUE_SEMCTL, NULL, 0, 0, 0 }, /* 220 = freebsd32_semctl */
+ { compat7(AS(freebsd7_freebsd32_semctl_args),freebsd32_semctl), AUE_SEMCTL, NULL, 0, 0, 0 }, /* 220 = freebsd7 freebsd32_semctl */
{ AS(semget_args), (sy_call_t *)semget, AUE_SEMGET, NULL, 0, 0, 0 }, /* 221 = semget */
{ AS(semop_args), (sy_call_t *)semop, AUE_SEMOP, NULL, 0, 0, 0 }, /* 222 = semop */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 223 = semconfig */
- { AS(freebsd32_msgctl_args), (sy_call_t *)freebsd32_msgctl, AUE_MSGCTL, NULL, 0, 0, 0 }, /* 224 = freebsd32_msgctl */
+ { compat7(AS(freebsd7_freebsd32_msgctl_args),freebsd32_msgctl), AUE_MSGCTL, NULL, 0, 0, 0 }, /* 224 = freebsd7 freebsd32_msgctl */
{ AS(msgget_args), (sy_call_t *)msgget, AUE_MSGGET, NULL, 0, 0, 0 }, /* 225 = msgget */
{ AS(freebsd32_msgsnd_args), (sy_call_t *)freebsd32_msgsnd, AUE_MSGSND, NULL, 0, 0, 0 }, /* 226 = freebsd32_msgsnd */
{ AS(freebsd32_msgrcv_args), (sy_call_t *)freebsd32_msgrcv, AUE_MSGRCV, NULL, 0, 0, 0 }, /* 227 = freebsd32_msgrcv */
{ AS(shmat_args), (sy_call_t *)shmat, AUE_SHMAT, NULL, 0, 0, 0 }, /* 228 = shmat */
- { AS(freebsd32_shmctl_args), (sy_call_t *)freebsd32_shmctl, AUE_SHMCTL, NULL, 0, 0, 0 }, /* 229 = freebsd32_shmctl */
+ { compat7(AS(freebsd7_freebsd32_shmctl_args),freebsd32_shmctl), AUE_SHMCTL, NULL, 0, 0, 0 }, /* 229 = freebsd7 freebsd32_shmctl */
{ AS(shmdt_args), (sy_call_t *)shmdt, AUE_SHMDT, NULL, 0, 0, 0 }, /* 230 = shmdt */
{ AS(shmget_args), (sy_call_t *)shmget, AUE_SHMGET, NULL, 0, 0, 0 }, /* 231 = shmget */
{ AS(freebsd32_clock_gettime_args), (sy_call_t *)freebsd32_clock_gettime, AUE_NULL, NULL, 0, 0, 0 }, /* 232 = freebsd32_clock_gettime */
@@ -548,4 +554,7 @@ struct sysent freebsd32_sysent[] = {
{ AS(freebsd32_jail_set_args), (sy_call_t *)freebsd32_jail_set, AUE_NULL, NULL, 0, 0, 0 }, /* 507 = freebsd32_jail_set */
{ AS(jail_remove_args), (sy_call_t *)jail_remove, AUE_NULL, NULL, 0, 0, 0 }, /* 508 = jail_remove */
{ AS(closefrom_args), (sy_call_t *)closefrom, AUE_CLOSEFROM, NULL, 0, 0, 0 }, /* 509 = closefrom */
+ { AS(freebsd32_semctl_args), (sy_call_t *)freebsd32_semctl, AUE_SEMCTL, NULL, 0, 0, 0 }, /* 510 = freebsd32_semctl */
+ { AS(freebsd32_msgctl_args), (sy_call_t *)freebsd32_msgctl, AUE_MSGCTL, NULL, 0, 0, 0 }, /* 511 = freebsd32_msgctl */
+ { AS(freebsd32_shmctl_args), (sy_call_t *)freebsd32_shmctl, AUE_SHMCTL, NULL, 0, 0, 0 }, /* 512 = freebsd32_shmctl */
};
diff --git a/sys/kern/init_sysent.c b/sys/kern/init_sysent.c
index 6ba227628d8a..93fd0b7fd1b7 100644
--- a/sys/kern/init_sysent.c
+++ b/sys/kern/init_sysent.c
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/kern/syscalls.master 194645 2009-06-22 20:12:40Z jhb
+ * created from FreeBSD: head/sys/kern/syscalls.master 194910 2009-06-24 21:10:52Z jhb
*/
#include "opt_compat.h"
@@ -26,6 +26,12 @@
#define compat4(n, name) 0, (sy_call_t *)nosys
#endif
+#ifdef COMPAT_FREEBSD7
+#define compat7(n, name) n, (sy_call_t *)__CONCAT(freebsd7_,name)
+#else
+#define compat7(n, name) 0, (sy_call_t *)nosys
+#endif
+
/* The casts are bogus but will do for now. */
struct sysent sysent[] = {
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 0 = syscall */
@@ -248,16 +254,16 @@ struct sysent sysent[] = {
{ AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0, 0 }, /* 217 = lkmnosys */
{ AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0, 0 }, /* 218 = lkmnosys */
{ AS(nosys_args), (sy_call_t *)lkmnosys, AUE_NULL, NULL, 0, 0, 0 }, /* 219 = lkmnosys */
- { AS(__semctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 220 = __semctl */
+ { 0, (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 220 = freebsd7 __semctl */
{ AS(semget_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 221 = semget */
{ AS(semop_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 222 = semop */
{ 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0 }, /* 223 = semconfig */
- { AS(msgctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 224 = msgctl */
+ { 0, (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 224 = freebsd7 msgctl */
{ AS(msgget_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 225 = msgget */
{ AS(msgsnd_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 226 = msgsnd */
{ AS(msgrcv_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 227 = msgrcv */
{ AS(shmat_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 228 = shmat */
- { AS(shmctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 229 = shmctl */
+ { 0, (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 229 = freebsd7 shmctl */
{ AS(shmdt_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 230 = shmdt */
{ AS(shmget_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 231 = shmget */
{ AS(clock_gettime_args), (sy_call_t *)clock_gettime, AUE_NULL, NULL, 0, 0, 0 }, /* 232 = clock_gettime */
@@ -538,4 +544,7 @@ struct sysent sysent[] = {
{ AS(jail_set_args), (sy_call_t *)jail_set, AUE_NULL, NULL, 0, 0, 0 }, /* 507 = jail_set */
{ AS(jail_remove_args), (sy_call_t *)jail_remove, AUE_NULL, NULL, 0, 0, 0 }, /* 508 = jail_remove */
{ AS(closefrom_args), (sy_call_t *)closefrom, AUE_CLOSEFROM, NULL, 0, 0, 0 }, /* 509 = closefrom */
+ { AS(__semctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 510 = __semctl */
+ { AS(msgctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 511 = msgctl */
+ { AS(shmctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0 }, /* 512 = shmctl */
};
diff --git a/sys/kern/syscalls.c b/sys/kern/syscalls.c
index 76cd52e858c0..26d7d272bccd 100644
--- a/sys/kern/syscalls.c
+++ b/sys/kern/syscalls.c
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/kern/syscalls.master 194645 2009-06-22 20:12:40Z jhb
+ * created from FreeBSD: head/sys/kern/syscalls.master 194910 2009-06-24 21:10:52Z jhb
*/
const char *syscallnames[] = {
@@ -227,16 +227,16 @@ const char *syscallnames[] = {
"lkmnosys", /* 217 = lkmnosys */
"lkmnosys", /* 218 = lkmnosys */
"lkmnosys", /* 219 = lkmnosys */
- "__semctl", /* 220 = __semctl */
+ "compat7.__semctl", /* 220 = freebsd7 __semctl */
"semget", /* 221 = semget */
"semop", /* 222 = semop */
"#223", /* 223 = semconfig */
- "msgctl", /* 224 = msgctl */
+ "compat7.msgctl", /* 224 = freebsd7 msgctl */
"msgget", /* 225 = msgget */
"msgsnd", /* 226 = msgsnd */
"msgrcv", /* 227 = msgrcv */
"shmat", /* 228 = shmat */
- "shmctl", /* 229 = shmctl */
+ "compat7.shmctl", /* 229 = freebsd7 shmctl */
"shmdt", /* 230 = shmdt */
"shmget", /* 231 = shmget */
"clock_gettime", /* 232 = clock_gettime */
@@ -517,4 +517,7 @@ const char *syscallnames[] = {
"jail_set", /* 507 = jail_set */
"jail_remove", /* 508 = jail_remove */
"closefrom", /* 509 = closefrom */
+ "__semctl", /* 510 = __semctl */
+ "msgctl", /* 511 = msgctl */
+ "shmctl", /* 512 = shmctl */
};
diff --git a/sys/kern/systrace_args.c b/sys/kern/systrace_args.c
index ad20b380ce27..985b7a5f2762 100644
--- a/sys/kern/systrace_args.c
+++ b/sys/kern/systrace_args.c
@@ -1192,16 +1192,6 @@ systrace_args(int sysnum, void *params, u_int64_t *uarg, int *n_args)
*n_args = 0;
break;
}
- /* __semctl */
- case 220: {
- struct __semctl_args *p = params;
- iarg[0] = p->semid; /* int */
- iarg[1] = p->semnum; /* int */
- iarg[2] = p->cmd; /* int */
- uarg[3] = (intptr_t) p->arg; /* union semun * */
- *n_args = 4;
- break;
- }
/* semget */
case 221: {
struct semget_args *p = params;
@@ -1220,15 +1210,6 @@ systrace_args(int sysnum, void *params, u_int64_t *uarg, int *n_args)
*n_args = 3;
break;
}
- /* msgctl */
- case 224: {
- struct msgctl_args *p = params;
- iarg[0] = p->msqid; /* int */
- iarg[1] = p->cmd; /* int */
- uarg[2] = (intptr_t) p->buf; /* struct msqid_ds * */
- *n_args = 3;
- break;
- }
/* msgget */
case 225: {
struct msgget_args *p = params;
@@ -1267,15 +1248,6 @@ systrace_args(int sysnum, void *params, u_int64_t *uarg, int *n_args)
*n_args = 3;
break;
}
- /* shmctl */
- case 229: {
- struct shmctl_args *p = params;
- iarg[0] = p->shmid; /* int */
- iarg[1] = p->cmd; /* int */
- uarg[2] = (intptr_t) p->buf; /* struct shmid_ds * */
- *n_args = 3;
- break;
- }
/* shmdt */
case 230: {
struct shmdt_args *p = params;
@@ -3064,6 +3036,34 @@ systrace_args(int sysnum, void *params, u_int64_t *uarg, int *n_args)
*n_args = 1;
break;
}
+ /* __semctl */
+ case 510: {
+ struct __semctl_args *p = params;
+ iarg[0] = p->semid; /* int */
+ iarg[1] = p->semnum; /* int */
+ iarg[2] = p->cmd; /* int */
+ uarg[3] = (intptr_t) p->arg; /* union semun * */
+ *n_args = 4;
+ break;
+ }
+ /* msgctl */
+ case 511: {
+ struct msgctl_args *p = params;
+ iarg[0] = p->msqid; /* int */
+ iarg[1] = p->cmd; /* int */
+ uarg[2] = (intptr_t) p->buf; /* struct msqid_ds * */
+ *n_args = 3;
+ break;
+ }
+ /* shmctl */
+ case 512: {
+ struct shmctl_args *p = params;
+ iarg[0] = p->shmid; /* int */
+ iarg[1] = p->cmd; /* int */
+ uarg[2] = (intptr_t) p->buf; /* struct shmid_ds * */
+ *n_args = 3;
+ break;
+ }
default:
*n_args = 0;
break;
@@ -4953,25 +4953,6 @@ systrace_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
/* lkmnosys */
case 219:
break;
- /* __semctl */
- case 220:
- switch(ndx) {
- case 0:
- p = "int";
- break;
- case 1:
- p = "int";
- break;
- case 2:
- p = "int";
- break;
- case 3:
- p = "union semun *";
- break;
- default:
- break;
- };
- break;
/* semget */
case 221:
switch(ndx) {
@@ -5004,22 +4985,6 @@ systrace_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
- /* msgctl */
- case 224:
- switch(ndx) {
- case 0:
- p = "int";
- break;
- case 1:
- p = "int";
- break;
- case 2:
- p = "struct msqid_ds *";
- break;
- default:
- break;
- };
- break;
/* msgget */
case 225:
switch(ndx) {
@@ -5090,22 +5055,6 @@ systrace_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
- /* shmctl */
- case 229:
- switch(ndx) {
- case 0:
- p = "int";
- break;
- case 1:
- p = "int";
- break;
- case 2:
- p = "struct shmid_ds *";
- break;
- default:
- break;
- };
- break;
/* shmdt */
case 230:
switch(ndx) {
@@ -8133,6 +8082,57 @@ systrace_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
break;
};
break;
+ /* __semctl */
+ case 510:
+ switch(ndx) {
+ case 0:
+ p = "int";
+ break;
+ case 1:
+ p = "int";
+ break;
+ case 2:
+ p = "int";
+ break;
+ case 3:
+ p = "union semun *";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* msgctl */
+ case 511:
+ switch(ndx) {
+ case 0:
+ p = "int";
+ break;
+ case 1:
+ p = "int";
+ break;
+ case 2:
+ p = "struct msqid_ds *";
+ break;
+ default:
+ break;
+ };
+ break;
+ /* shmctl */
+ case 512:
+ switch(ndx) {
+ case 0:
+ p = "int";
+ break;
+ case 1:
+ p = "int";
+ break;
+ case 2:
+ p = "struct shmid_ds *";
+ break;
+ default:
+ break;
+ };
+ break;
default:
break;
};
diff --git a/sys/sys/syscall.h b/sys/sys/syscall.h
index 989c077bee85..edfccc45fc83 100644
--- a/sys/sys/syscall.h
+++ b/sys/sys/syscall.h
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/kern/syscalls.master 194645 2009-06-22 20:12:40Z jhb
+ * created from FreeBSD: head/sys/kern/syscalls.master 194910 2009-06-24 21:10:52Z jhb
*/
#define SYS_syscall 0
@@ -196,15 +196,15 @@
#define SYS_futimes 206
#define SYS_getpgid 207
#define SYS_poll 209
-#define SYS___semctl 220
+#define SYS_freebsd7___semctl 220
#define SYS_semget 221
#define SYS_semop 222
-#define SYS_msgctl 224
+#define SYS_freebsd7_msgctl 224
#define SYS_msgget 225
#define SYS_msgsnd 226
#define SYS_msgrcv 227
#define SYS_shmat 228
-#define SYS_shmctl 229
+#define SYS_freebsd7_shmctl 229
#define SYS_shmdt 230
#define SYS_shmget 231
#define SYS_clock_gettime 232
@@ -424,4 +424,7 @@
#define SYS_jail_set 507
#define SYS_jail_remove 508
#define SYS_closefrom 509
-#define SYS_MAXSYSCALL 510
+#define SYS___semctl 510
+#define SYS_msgctl 511
+#define SYS_shmctl 512
+#define SYS_MAXSYSCALL 513
diff --git a/sys/sys/syscall.mk b/sys/sys/syscall.mk
index c63bfa57acb6..908bc7386c42 100644
--- a/sys/sys/syscall.mk
+++ b/sys/sys/syscall.mk
@@ -1,7 +1,7 @@
# FreeBSD system call names.
# DO NOT EDIT-- this file is automatically generated.
# $FreeBSD$
-# created from FreeBSD: head/sys/kern/syscalls.master 194645 2009-06-22 20:12:40Z jhb
+# created from FreeBSD: head/sys/kern/syscalls.master 194910 2009-06-24 21:10:52Z jhb
MIASM = \
syscall.o \
exit.o \
@@ -148,15 +148,15 @@ MIASM = \
futimes.o \
getpgid.o \
poll.o \
- __semctl.o \
+ freebsd7___semctl.o \
semget.o \
semop.o \
- msgctl.o \
+ freebsd7_msgctl.o \
msgget.o \
msgsnd.o \
msgrcv.o \
shmat.o \
- shmctl.o \
+ freebsd7_shmctl.o \
shmdt.o \
shmget.o \
clock_gettime.o \
@@ -372,4 +372,7 @@ MIASM = \
jail_get.o \
jail_set.o \
jail_remove.o \
- closefrom.o
+ closefrom.o \
+ __semctl.o \
+ msgctl.o \
+ shmctl.o
diff --git a/sys/sys/sysproto.h b/sys/sys/sysproto.h
index 34e28aef30d8..f6da0116b23b 100644
--- a/sys/sys/sysproto.h
+++ b/sys/sys/sysproto.h
@@ -3,7 +3,7 @@
*
* DO NOT EDIT-- this file is automatically generated.
* $FreeBSD$
- * created from FreeBSD: head/sys/kern/syscalls.master 194645 2009-06-22 20:12:40Z jhb
+ * created from FreeBSD: head/sys/kern/syscalls.master 194910 2009-06-24 21:10:52Z jhb
*/
#ifndef _SYS_SYSPROTO_H_
@@ -649,12 +649,6 @@ struct poll_args {
char nfds_l_[PADL_(u_int)]; u_int nfds; char nfds_r_[PADR_(u_int)];
char timeout_l_[PADL_(int)]; int timeout; char timeout_r_[PADR_(int)];
};
-struct __semctl_args {
- char semid_l_[PADL_(int)]; int semid; char semid_r_[PADR_(int)];
- char semnum_l_[PADL_(int)]; int semnum; char semnum_r_[PADR_(int)];
- char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)];
- char arg_l_[PADL_(union semun *)]; union semun * arg; char arg_r_[PADR_(union semun *)];
-};
struct semget_args {
char key_l_[PADL_(key_t)]; key_t key; char key_r_[PADR_(key_t)];
char nsems_l_[PADL_(int)]; int nsems; char nsems_r_[PADR_(int)];
@@ -665,11 +659,6 @@ struct semop_args {
char sops_l_[PADL_(struct sembuf *)]; struct sembuf * sops; char sops_r_[PADR_(struct sembuf *)];
char nsops_l_[PADL_(size_t)]; size_t nsops; char nsops_r_[PADR_(size_t)];
};
-struct msgctl_args {
- char msqid_l_[PADL_(int)]; int msqid; char msqid_r_[PADR_(int)];
- char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)];
- char buf_l_[PADL_(struct msqid_ds *)]; struct msqid_ds * buf; char buf_r_[PADR_(struct msqid_ds *)];
-};
struct msgget_args {
char key_l_[PADL_(key_t)]; key_t key; char key_r_[PADR_(key_t)];
char msgflg_l_[PADL_(int)]; int msgflg; char msgflg_r_[PADR_(int)];
@@ -692,11 +681,6 @@ struct shmat_args {
char shmaddr_l_[PADL_(const void *)]; const void * shmaddr; char shmaddr_r_[PADR_(const void *)];
char shmflg_l_[PADL_(int)]; int shmflg; char shmflg_r_[PADR_(int)];
};
-struct shmctl_args {
- char shmid_l_[PADL_(int)]; int shmid; char shmid_r_[PADR_(int)];
- char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)];
- char buf_l_[PADL_(struct shmid_ds *)]; struct shmid_ds * buf; char buf_r_[PADR_(struct shmid_ds *)];
-};
struct shmdt_args {
char shmaddr_l_[PADL_(const void *)]; const void * shmaddr; char shmaddr_r_[PADR_(const void *)];
};
@@ -1637,6 +1621,22 @@ struct jail_remove_args {
struct closefrom_args {
char lowfd_l_[PADL_(int)]; int lowfd; char lowfd_r_[PADR_(int)];
};
+struct __semctl_args {
+ char semid_l_[PADL_(int)]; int semid; char semid_r_[PADR_(int)];
+ char semnum_l_[PADL_(int)]; int semnum; char semnum_r_[PADR_(int)];
+ char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)];
+ char arg_l_[PADL_(union semun *)]; union semun * arg; char arg_r_[PADR_(union semun *)];
+};
+struct msgctl_args {
+ char msqid_l_[PADL_(int)]; int msqid; char msqid_r_[PADR_(int)];
+ char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)];
+ char buf_l_[PADL_(struct msqid_ds *)]; struct msqid_ds * buf; char buf_r_[PADR_(struct msqid_ds *)];
+};
+struct shmctl_args {
+ char shmid_l_[PADL_(int)]; int shmid; char shmid_r_[PADR_(int)];
+ char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)];
+ char buf_l_[PADL_(struct shmid_ds *)]; struct shmid_ds * buf; char buf_r_[PADR_(struct shmid_ds *)];
+};
int nosys(struct thread *, struct nosys_args *);
void sys_exit(struct thread *, struct sys_exit_args *);
int fork(struct thread *, struct fork_args *);
@@ -1775,15 +1775,12 @@ int undelete(struct thread *, struct undelete_args *);
int futimes(struct thread *, struct futimes_args *);
int getpgid(struct thread *, struct getpgid_args *);
int poll(struct thread *, struct poll_args *);
-int __semctl(struct thread *, struct __semctl_args *);
int semget(struct thread *, struct semget_args *);
int semop(struct thread *, struct semop_args *);
-int msgctl(struct thread *, struct msgctl_args *);
int msgget(struct thread *, struct msgget_args *);
int msgsnd(struct thread *, struct msgsnd_args *);
int msgrcv(struct thread *, struct msgrcv_args *);
int shmat(struct thread *, struct shmat_args *);
-int shmctl(struct thread *, struct shmctl_args *);
int shmdt(struct thread *, struct shmdt_args *);
int shmget(struct thread *, struct shmget_args *);
int clock_gettime(struct thread *, struct clock_gettime_args *);
@@ -1994,6 +1991,9 @@ int jail_get(struct thread *, struct jail_get_args *);
int jail_set(struct thread *, struct jail_set_args *);
int jail_remove(struct thread *, struct jail_remove_args *);
int closefrom(struct thread *, struct closefrom_args *);
+int __semctl(struct thread *, struct __semctl_args *);
+int msgctl(struct thread *, struct msgctl_args *);
+int shmctl(struct thread *, struct shmctl_args *);
#ifdef COMPAT_43
@@ -2233,6 +2233,31 @@ int freebsd4_sigreturn(struct thread *, struct freebsd4_sigreturn_args *);
#endif /* COMPAT_FREEBSD6 */
+
+#ifdef COMPAT_FREEBSD7
+
+struct freebsd7___semctl_args {
+ char semid_l_[PADL_(int)]; int semid; char semid_r_[PADR_(int)];
+ char semnum_l_[PADL_(int)]; int semnum; char semnum_r_[PADR_(int)];
+ char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)];
+ char arg_l_[PADL_(union semun_old *)]; union semun_old * arg; char arg_r_[PADR_(union semun_old *)];
+};
+struct freebsd7_msgctl_args {
+ char msqid_l_[PADL_(int)]; int msqid; char msqid_r_[PADR_(int)];
+ char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)];
+ char buf_l_[PADL_(struct msqid_ds_old *)]; struct msqid_ds_old * buf; char buf_r_[PADR_(struct msqid_ds_old *)];
+};
+struct freebsd7_shmctl_args {
+ char shmid_l_[PADL_(int)]; int shmid; char shmid_r_[PADR_(int)];
+ char cmd_l_[PADL_(int)]; int cmd; char cmd_r_[PADR_(int)];
+ char buf_l_[PADL_(struct shmid_ds_old *)]; struct shmid_ds_old * buf; char buf_r_[PADR_(struct shmid_ds_old *)];
+};
+int freebsd7___semctl(struct thread *, struct freebsd7___semctl_args *);
+int freebsd7_msgctl(struct thread *, struct freebsd7_msgctl_args *);
+int freebsd7_shmctl(struct thread *, struct freebsd7_shmctl_args *);
+
+#endif /* COMPAT_FREEBSD7 */
+
#define SYS_AUE_syscall AUE_NULL
#define SYS_AUE_exit AUE_EXIT
#define SYS_AUE_fork AUE_FORK
@@ -2414,15 +2439,15 @@ int freebsd4_sigreturn(struct thread *, struct freebsd4_sigreturn_args *);
#define SYS_AUE_futimes AUE_FUTIMES
#define SYS_AUE_getpgid AUE_GETPGID
#define SYS_AUE_poll AUE_POLL
-#define SYS_AUE___semctl AUE_SEMCTL
+#define SYS_AUE_freebsd7___semctl AUE_SEMCTL
#define SYS_AUE_semget AUE_SEMGET
#define SYS_AUE_semop AUE_SEMOP
-#define SYS_AUE_msgctl AUE_MSGCTL
+#define SYS_AUE_freebsd7_msgctl AUE_MSGCTL
#define SYS_AUE_msgget AUE_MSGGET
#define SYS_AUE_msgsnd AUE_MSGSND
#define SYS_AUE_msgrcv AUE_MSGRCV
#define SYS_AUE_shmat AUE_SHMAT
-#define SYS_AUE_shmctl AUE_SHMCTL
+#define SYS_AUE_freebsd7_shmctl AUE_SHMCTL
#define SYS_AUE_shmdt AUE_SHMDT
#define SYS_AUE_shmget AUE_SHMGET
#define SYS_AUE_clock_gettime AUE_NULL
@@ -2637,6 +2662,9 @@ int freebsd4_sigreturn(struct thread *, struct freebsd4_sigreturn_args *);
#define SYS_AUE_jail_set AUE_NULL
#define SYS_AUE_jail_remove AUE_NULL
#define SYS_AUE_closefrom AUE_CLOSEFROM
+#define SYS_AUE___semctl AUE_SEMCTL
+#define SYS_AUE_msgctl AUE_MSGCTL
+#define SYS_AUE_shmctl AUE_SHMCTL
#undef PAD_
#undef PADL_