summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorarchie <archie@FreeBSD.org>2002-10-02 16:48:16 +0000
committerarchie <archie@FreeBSD.org>2002-10-02 16:48:16 +0000
commit9301eb94849946aac95b2a28af968e89d8dbfeca (patch)
tree6c9bc6f761d4c9f14b13194058e57a9916cff7c3
parent056df6de991d7f6d3d0b080a43615a12668e64e8 (diff)
downloadFreeBSD-src-9301eb94849946aac95b2a28af968e89d8dbfeca.zip
FreeBSD-src-9301eb94849946aac95b2a28af968e89d8dbfeca.tar.gz
Let kse_wakeup() take a KSE mailbox pointer argument.
Reviewed by: julian
-rw-r--r--sys/amd64/ia32/ia32_sysent.c2
-rw-r--r--sys/amd64/ia32/syscalls.master2
-rw-r--r--sys/compat/freebsd32/freebsd32_sysent.c2
-rw-r--r--sys/compat/freebsd32/syscalls.master2
-rw-r--r--sys/ia64/ia32/ia32_sysent.c2
-rw-r--r--sys/ia64/ia32/syscalls.master2
-rw-r--r--sys/kern/init_sysent.c2
-rw-r--r--sys/kern/kern_proc.c3
-rw-r--r--sys/kern/syscalls.master2
-rw-r--r--sys/sys/kse.h2
-rw-r--r--sys/sys/sysproto.h2
11 files changed, 13 insertions, 10 deletions
diff --git a/sys/amd64/ia32/ia32_sysent.c b/sys/amd64/ia32/ia32_sysent.c
index 9d7d934..eb0b11b 100644
--- a/sys/amd64/ia32/ia32_sysent.c
+++ b/sys/amd64/ia32/ia32_sysent.c
@@ -397,7 +397,7 @@ struct sysent ia32_sysent[] = {
{ 0, (sy_call_t *)nosys }, /* 377 = afs_syscall */
{ AS(nmount_args), (sy_call_t *)nmount }, /* 378 = nmount */
{ 0, (sy_call_t *)kse_exit }, /* 379 = kse_exit */
- { 0, (sy_call_t *)kse_wakeup }, /* 380 = kse_wakeup */
+ { AS(kse_wakeup_args), (sy_call_t *)kse_wakeup }, /* 380 = kse_wakeup */
{ AS(kse_create_args), (sy_call_t *)kse_create }, /* 381 = kse_create */
{ AS(kse_thr_interrupt_args), (sy_call_t *)kse_thr_interrupt }, /* 382 = kse_thr_interrupt */
{ 0, (sy_call_t *)kse_release }, /* 383 = kse_release */
diff --git a/sys/amd64/ia32/syscalls.master b/sys/amd64/ia32/syscalls.master
index 7d5b17c..1cb126c 100644
--- a/sys/amd64/ia32/syscalls.master
+++ b/sys/amd64/ia32/syscalls.master
@@ -546,7 +546,7 @@
378 NOPROTO BSD { int nmount(struct iovec *iovp, unsigned int iovcnt, \
int flags); }
379 NOPROTO BSD { int kse_exit(void); }
-380 NOPROTO BSD { int kse_wakeup(void); }
+380 NOPROTO BSD { int kse_wakeup(struct kse_mailbox *mbx); }
381 NOPROTO BSD { int kse_create(struct kse_mailbox *mbx, \
int newgroup); }
382 NOPROTO BSD { int kse_thr_interrupt(struct kse_thr_mailbox *tmbx); }
diff --git a/sys/compat/freebsd32/freebsd32_sysent.c b/sys/compat/freebsd32/freebsd32_sysent.c
index 9d7d934..eb0b11b 100644
--- a/sys/compat/freebsd32/freebsd32_sysent.c
+++ b/sys/compat/freebsd32/freebsd32_sysent.c
@@ -397,7 +397,7 @@ struct sysent ia32_sysent[] = {
{ 0, (sy_call_t *)nosys }, /* 377 = afs_syscall */
{ AS(nmount_args), (sy_call_t *)nmount }, /* 378 = nmount */
{ 0, (sy_call_t *)kse_exit }, /* 379 = kse_exit */
- { 0, (sy_call_t *)kse_wakeup }, /* 380 = kse_wakeup */
+ { AS(kse_wakeup_args), (sy_call_t *)kse_wakeup }, /* 380 = kse_wakeup */
{ AS(kse_create_args), (sy_call_t *)kse_create }, /* 381 = kse_create */
{ AS(kse_thr_interrupt_args), (sy_call_t *)kse_thr_interrupt }, /* 382 = kse_thr_interrupt */
{ 0, (sy_call_t *)kse_release }, /* 383 = kse_release */
diff --git a/sys/compat/freebsd32/syscalls.master b/sys/compat/freebsd32/syscalls.master
index 7d5b17c..1cb126c 100644
--- a/sys/compat/freebsd32/syscalls.master
+++ b/sys/compat/freebsd32/syscalls.master
@@ -546,7 +546,7 @@
378 NOPROTO BSD { int nmount(struct iovec *iovp, unsigned int iovcnt, \
int flags); }
379 NOPROTO BSD { int kse_exit(void); }
-380 NOPROTO BSD { int kse_wakeup(void); }
+380 NOPROTO BSD { int kse_wakeup(struct kse_mailbox *mbx); }
381 NOPROTO BSD { int kse_create(struct kse_mailbox *mbx, \
int newgroup); }
382 NOPROTO BSD { int kse_thr_interrupt(struct kse_thr_mailbox *tmbx); }
diff --git a/sys/ia64/ia32/ia32_sysent.c b/sys/ia64/ia32/ia32_sysent.c
index 9d7d934..eb0b11b 100644
--- a/sys/ia64/ia32/ia32_sysent.c
+++ b/sys/ia64/ia32/ia32_sysent.c
@@ -397,7 +397,7 @@ struct sysent ia32_sysent[] = {
{ 0, (sy_call_t *)nosys }, /* 377 = afs_syscall */
{ AS(nmount_args), (sy_call_t *)nmount }, /* 378 = nmount */
{ 0, (sy_call_t *)kse_exit }, /* 379 = kse_exit */
- { 0, (sy_call_t *)kse_wakeup }, /* 380 = kse_wakeup */
+ { AS(kse_wakeup_args), (sy_call_t *)kse_wakeup }, /* 380 = kse_wakeup */
{ AS(kse_create_args), (sy_call_t *)kse_create }, /* 381 = kse_create */
{ AS(kse_thr_interrupt_args), (sy_call_t *)kse_thr_interrupt }, /* 382 = kse_thr_interrupt */
{ 0, (sy_call_t *)kse_release }, /* 383 = kse_release */
diff --git a/sys/ia64/ia32/syscalls.master b/sys/ia64/ia32/syscalls.master
index 7d5b17c..1cb126c 100644
--- a/sys/ia64/ia32/syscalls.master
+++ b/sys/ia64/ia32/syscalls.master
@@ -546,7 +546,7 @@
378 NOPROTO BSD { int nmount(struct iovec *iovp, unsigned int iovcnt, \
int flags); }
379 NOPROTO BSD { int kse_exit(void); }
-380 NOPROTO BSD { int kse_wakeup(void); }
+380 NOPROTO BSD { int kse_wakeup(struct kse_mailbox *mbx); }
381 NOPROTO BSD { int kse_create(struct kse_mailbox *mbx, \
int newgroup); }
382 NOPROTO BSD { int kse_thr_interrupt(struct kse_thr_mailbox *tmbx); }
diff --git a/sys/kern/init_sysent.c b/sys/kern/init_sysent.c
index 29adb6c..32c6084 100644
--- a/sys/kern/init_sysent.c
+++ b/sys/kern/init_sysent.c
@@ -408,7 +408,7 @@ struct sysent sysent[] = {
{ 0, (sy_call_t *)nosys }, /* 377 = afs_syscall */
{ AS(nmount_args), (sy_call_t *)nmount }, /* 378 = nmount */
{ 0, (sy_call_t *)kse_exit }, /* 379 = kse_exit */
- { 0, (sy_call_t *)kse_wakeup }, /* 380 = kse_wakeup */
+ { AS(kse_wakeup_args), (sy_call_t *)kse_wakeup }, /* 380 = kse_wakeup */
{ AS(kse_create_args), (sy_call_t *)kse_create }, /* 381 = kse_create */
{ AS(kse_thr_interrupt_args), (sy_call_t *)kse_thr_interrupt }, /* 382 = kse_thr_interrupt */
{ SYF_MPSAFE | 0, (sy_call_t *)kse_release }, /* 383 = kse_release */
diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c
index 9f20562..81c5c7b 100644
--- a/sys/kern/kern_proc.c
+++ b/sys/kern/kern_proc.c
@@ -330,6 +330,9 @@ kse_release(struct thread *td, struct kse_release_args *uap)
return (0);
}
+/* struct kse_wakeup_args {
+ struct kse_mailbox *mbx;
+}; */
int
kse_wakeup(struct thread *td, struct kse_wakeup_args *uap)
{
diff --git a/sys/kern/syscalls.master b/sys/kern/syscalls.master
index c000fab..b9f62b0 100644
--- a/sys/kern/syscalls.master
+++ b/sys/kern/syscalls.master
@@ -548,7 +548,7 @@
378 STD BSD { int nmount(struct iovec *iovp, unsigned int iovcnt, \
int flags); }
379 STD BSD { int kse_exit(void); }
-380 STD BSD { int kse_wakeup(void); }
+380 STD BSD { int kse_wakeup(struct kse_mailbox *mbx); }
381 STD BSD { int kse_create(struct kse_mailbox *mbx, \
int newgroup); }
382 STD BSD { int kse_thr_interrupt(struct kse_thr_mailbox *tmbx); }
diff --git a/sys/sys/kse.h b/sys/sys/kse.h
index 7616fc2..8f5fa57 100644
--- a/sys/sys/kse.h
+++ b/sys/sys/kse.h
@@ -81,7 +81,7 @@ int kse_create(struct kse_mailbox *, int);
int kse_exit(void);
int kse_release(void);
int kse_thr_interrupt(struct kse_thr_mailbox *);
-int kse_wakeup(void);
+int kse_wakeup(struct kse_mailbox *);
#endif /* !_KERNEL */
#endif /* !_SYS_KSE_H_ */
diff --git a/sys/sys/sysproto.h b/sys/sys/sysproto.h
index 88895b3..8679ac2 100644
--- a/sys/sys/sysproto.h
+++ b/sys/sys/sysproto.h
@@ -1062,7 +1062,7 @@ struct kse_exit_args {
register_t dummy;
};
struct kse_wakeup_args {
- register_t dummy;
+ char mbx_l_[PADL_(struct kse_mailbox *)]; struct kse_mailbox * mbx; char mbx_r_[PADR_(struct kse_mailbox *)];
};
struct kse_create_args {
char mbx_l_[PADL_(struct kse_mailbox *)]; struct kse_mailbox * mbx; char mbx_r_[PADR_(struct kse_mailbox *)];
OpenPOWER on IntegriCloud