summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Xu <davidxu@FreeBSD.org>2007-08-16 05:32:26 +0000
committerDavid Xu <davidxu@FreeBSD.org>2007-08-16 05:32:26 +0000
commit6ec46f7aa84814fb26f0639f63684bca915f5c99 (patch)
tree6dba3538eb943de5cbaf4cd7e5f83af5f3d13e3a
parent81ca5b4257cd2284e30ca06305d6a0d8e933aad4 (diff)
Notes
-rw-r--r--sys/compat/freebsd32/freebsd32_syscall.h3
-rw-r--r--sys/compat/freebsd32/freebsd32_syscalls.c1
-rw-r--r--sys/compat/freebsd32/freebsd32_sysent.c1
-rw-r--r--sys/kern/init_sysent.c1
-rw-r--r--sys/kern/syscalls.c1
-rw-r--r--sys/kern/systrace_args.c9
-rw-r--r--sys/sys/syscall.h3
-rw-r--r--sys/sys/syscall.mk3
-rw-r--r--sys/sys/sysproto.h7
9 files changed, 26 insertions, 3 deletions
diff --git a/sys/compat/freebsd32/freebsd32_syscall.h b/sys/compat/freebsd32/freebsd32_syscall.h
index 9647b4c8a83d..86b0039eda99 100644
--- a/sys/compat/freebsd32/freebsd32_syscall.h
+++ b/sys/compat/freebsd32/freebsd32_syscall.h
@@ -337,4 +337,5 @@
#define FREEBSD32_SYS_freebsd32_lseek 478
#define FREEBSD32_SYS_freebsd32_truncate 479
#define FREEBSD32_SYS_freebsd32_ftruncate 480
-#define FREEBSD32_SYS_MAXSYSCALL 481
+#define FREEBSD32_SYS_thr_kill2 481
+#define FREEBSD32_SYS_MAXSYSCALL 482
diff --git a/sys/compat/freebsd32/freebsd32_syscalls.c b/sys/compat/freebsd32/freebsd32_syscalls.c
index 7c90c49b992e..12f7eea890dc 100644
--- a/sys/compat/freebsd32/freebsd32_syscalls.c
+++ b/sys/compat/freebsd32/freebsd32_syscalls.c
@@ -488,4 +488,5 @@ const char *freebsd32_syscallnames[] = {
"freebsd32_lseek", /* 478 = freebsd32_lseek */
"freebsd32_truncate", /* 479 = freebsd32_truncate */
"freebsd32_ftruncate", /* 480 = freebsd32_ftruncate */
+ "thr_kill2", /* 481 = thr_kill2 */
};
diff --git a/sys/compat/freebsd32/freebsd32_sysent.c b/sys/compat/freebsd32/freebsd32_sysent.c
index 615bd4f479e2..427057847040 100644
--- a/sys/compat/freebsd32/freebsd32_sysent.c
+++ b/sys/compat/freebsd32/freebsd32_sysent.c
@@ -519,4 +519,5 @@ struct sysent freebsd32_sysent[] = {
{ AS(freebsd32_lseek_args), (sy_call_t *)freebsd32_lseek, AUE_LSEEK, NULL, 0, 0 }, /* 478 = freebsd32_lseek */
{ AS(freebsd32_truncate_args), (sy_call_t *)freebsd32_truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 479 = freebsd32_truncate */
{ AS(freebsd32_ftruncate_args), (sy_call_t *)freebsd32_ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 480 = freebsd32_ftruncate */
+ { AS(thr_kill2_args), (sy_call_t *)thr_kill2, AUE_KILL, NULL, 0, 0 }, /* 481 = thr_kill2 */
};
diff --git a/sys/kern/init_sysent.c b/sys/kern/init_sysent.c
index bcfac4307ae1..551c2573b8d7 100644
--- a/sys/kern/init_sysent.c
+++ b/sys/kern/init_sysent.c
@@ -510,4 +510,5 @@ struct sysent sysent[] = {
{ AS(lseek_args), (sy_call_t *)lseek, AUE_LSEEK, NULL, 0, 0 }, /* 478 = lseek */
{ AS(truncate_args), (sy_call_t *)truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 479 = truncate */
{ AS(ftruncate_args), (sy_call_t *)ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 480 = ftruncate */
+ { AS(thr_kill2_args), (sy_call_t *)thr_kill2, AUE_KILL, NULL, 0, 0 }, /* 481 = thr_kill2 */
};
diff --git a/sys/kern/syscalls.c b/sys/kern/syscalls.c
index 6eaad65d6841..ea43744902b8 100644
--- a/sys/kern/syscalls.c
+++ b/sys/kern/syscalls.c
@@ -488,4 +488,5 @@ const char *syscallnames[] = {
"lseek", /* 478 = lseek */
"truncate", /* 479 = truncate */
"ftruncate", /* 480 = ftruncate */
+ "thr_kill2", /* 481 = thr_kill2 */
};
diff --git a/sys/kern/systrace_args.c b/sys/kern/systrace_args.c
index 5449a98dee13..cc5f1b01f7ce 100644
--- a/sys/kern/systrace_args.c
+++ b/sys/kern/systrace_args.c
@@ -2862,6 +2862,15 @@ systrace_args(int sysnum, void *params, u_int64_t *uarg, int *n_args)
*n_args = 2;
break;
}
+ /* thr_kill2 */
+ case 481: {
+ struct thr_kill2_args *p = params;
+ iarg[0] = p->pid; /* pid_t */
+ iarg[1] = p->id; /* long */
+ iarg[2] = p->sig; /* int */
+ *n_args = 3;
+ break;
+ }
default:
*n_args = 0;
break;
diff --git a/sys/sys/syscall.h b/sys/sys/syscall.h
index 99080027e848..05f89bfe4d08 100644
--- a/sys/sys/syscall.h
+++ b/sys/sys/syscall.h
@@ -400,4 +400,5 @@
#define SYS_lseek 478
#define SYS_truncate 479
#define SYS_ftruncate 480
-#define SYS_MAXSYSCALL 481
+#define SYS_thr_kill2 481
+#define SYS_MAXSYSCALL 482
diff --git a/sys/sys/syscall.mk b/sys/sys/syscall.mk
index 9956fc781368..44e128b4df8c 100644
--- a/sys/sys/syscall.mk
+++ b/sys/sys/syscall.mk
@@ -348,4 +348,5 @@ MIASM = \
mmap.o \
lseek.o \
truncate.o \
- ftruncate.o
+ ftruncate.o \
+ thr_kill2.o
diff --git a/sys/sys/sysproto.h b/sys/sys/sysproto.h
index 31e26299e5ec..83a9ce70688b 100644
--- a/sys/sys/sysproto.h
+++ b/sys/sys/sysproto.h
@@ -1515,6 +1515,11 @@ struct ftruncate_args {
char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
char length_l_[PADL_(off_t)]; off_t length; char length_r_[PADR_(off_t)];
};
+struct thr_kill2_args {
+ char pid_l_[PADL_(pid_t)]; pid_t pid; char pid_r_[PADR_(pid_t)];
+ char id_l_[PADL_(long)]; long id; char id_r_[PADR_(long)];
+ char sig_l_[PADL_(int)]; int sig; char sig_r_[PADR_(int)];
+};
int nosys(struct thread *, struct nosys_args *);
void sys_exit(struct thread *, struct sys_exit_args *);
int fork(struct thread *, struct fork_args *);
@@ -1853,6 +1858,7 @@ int mmap(struct thread *, struct mmap_args *);
int lseek(struct thread *, struct lseek_args *);
int truncate(struct thread *, struct truncate_args *);
int ftruncate(struct thread *, struct ftruncate_args *);
+int thr_kill2(struct thread *, struct thr_kill2_args *);
#ifdef COMPAT_43
@@ -2416,6 +2422,7 @@ int freebsd4_sigreturn(struct thread *, struct freebsd4_sigreturn_args *);
#define SYS_AUE_lseek AUE_LSEEK
#define SYS_AUE_truncate AUE_TRUNCATE
#define SYS_AUE_ftruncate AUE_FTRUNCATE
+#define SYS_AUE_thr_kill2 AUE_KILL
#undef PAD_
#undef PADL_