From be6654fb4af5da493ea3005c917836d5bd77b916 Mon Sep 17 00:00:00 2001 From: davidxu Date: Sat, 9 Sep 2006 01:22:13 +0000 Subject: The following functions need not to be reimplemented, reuse 64bit syscalls instead: sigqueue, thr_set_name, thr_setscheduler, thr_getscheduler, thr_setschedparam. --- sys/compat/freebsd32/freebsd32_syscall.h | 5 +++++ sys/compat/freebsd32/freebsd32_syscalls.c | 10 +++++----- sys/compat/freebsd32/freebsd32_sysent.c | 10 +++++----- sys/compat/freebsd32/syscalls.master | 17 ++++++++++++----- 4 files changed, 27 insertions(+), 15 deletions(-) (limited to 'sys/compat/freebsd32') diff --git a/sys/compat/freebsd32/freebsd32_syscall.h b/sys/compat/freebsd32/freebsd32_syscall.h index 7be9dd7..6606af5 100644 --- a/sys/compat/freebsd32/freebsd32_syscall.h +++ b/sys/compat/freebsd32/freebsd32_syscall.h @@ -310,5 +310,10 @@ #define FREEBSD32_SYS_thr_suspend 442 #define FREEBSD32_SYS_thr_wake 443 #define FREEBSD32_SYS_kldunloadf 444 +#define FREEBSD32_SYS_sigqueue 456 #define FREEBSD32_SYS_abort2 463 +#define FREEBSD32_SYS_thr_set_name 464 +#define FREEBSD32_SYS_thr_setscheduler 466 +#define FREEBSD32_SYS_thr_getscheduler 467 +#define FREEBSD32_SYS_thr_setschedparam 468 #define FREEBSD32_SYS_MAXSYSCALL 471 diff --git a/sys/compat/freebsd32/freebsd32_syscalls.c b/sys/compat/freebsd32/freebsd32_syscalls.c index 56bc65b..1e7a679 100644 --- a/sys/compat/freebsd32/freebsd32_syscalls.c +++ b/sys/compat/freebsd32/freebsd32_syscalls.c @@ -463,7 +463,7 @@ const char *freebsd32_syscallnames[] = { "#453", /* 453 = auditctl */ "#454", /* 454 = _umtx_op */ "#455", /* 455 = thr_new */ - "#456", /* 456 = sigqueue */ + "sigqueue", /* 456 = sigqueue */ "#457", /* 457 = kmq_open */ "#458", /* 458 = kmq_setattr */ "#459", /* 459 = kmq_timedreceive */ @@ -471,11 +471,11 @@ const char *freebsd32_syscallnames[] = { "#461", /* 461 = kmq_notify */ "#462", /* 462 = kmq_unlink */ "abort2", /* 463 = abort2 */ - "#464", /* 464 = thr_set_name */ + "thr_set_name", /* 464 = thr_set_name */ "#465", /* 465 = aio_fsync */ - "#466", /* 466 = thr_setscheduler */ - "#467", /* 467 = thr_getscheduler */ - "#468", /* 468 = thr_setschedparam */ + "thr_setscheduler", /* 466 = thr_setscheduler */ + "thr_getscheduler", /* 467 = thr_getscheduler */ + "thr_setschedparam", /* 468 = thr_setschedparam */ "#469", /* 469 = __getpath_fromfd */ "#470", /* 470 = __getpath_fromaddr */ }; diff --git a/sys/compat/freebsd32/freebsd32_sysent.c b/sys/compat/freebsd32/freebsd32_sysent.c index 6bd42ed..fccec17 100644 --- a/sys/compat/freebsd32/freebsd32_sysent.c +++ b/sys/compat/freebsd32/freebsd32_sysent.c @@ -488,7 +488,7 @@ struct sysent freebsd32_sysent[] = { { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 453 = auditctl */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 454 = _umtx_op */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 455 = thr_new */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 456 = sigqueue */ + { AS(sigqueue_args), (sy_call_t *)sigqueue, AUE_NULL, NULL, 0, 0 }, /* 456 = sigqueue */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 457 = kmq_open */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 458 = kmq_setattr */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 459 = kmq_timedreceive */ @@ -496,11 +496,11 @@ struct sysent freebsd32_sysent[] = { { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 461 = kmq_notify */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 462 = kmq_unlink */ { AS(abort2_args), (sy_call_t *)abort2, AUE_NULL, NULL, 0, 0 }, /* 463 = abort2 */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 464 = thr_set_name */ + { AS(thr_set_name_args), (sy_call_t *)thr_set_name, AUE_NULL, NULL, 0, 0 }, /* 464 = thr_set_name */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 465 = aio_fsync */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 466 = thr_setscheduler */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 467 = thr_getscheduler */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 468 = thr_setschedparam */ + { AS(thr_setscheduler_args), (sy_call_t *)thr_setscheduler, AUE_NULL, NULL, 0, 0 }, /* 466 = thr_setscheduler */ + { AS(thr_getscheduler_args), (sy_call_t *)thr_getscheduler, AUE_NULL, NULL, 0, 0 }, /* 467 = thr_getscheduler */ + { AS(thr_setschedparam_args), (sy_call_t *)thr_setschedparam, AUE_NULL, NULL, 0, 0 }, /* 468 = thr_setschedparam */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 469 = __getpath_fromfd */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 470 = __getpath_fromaddr */ }; diff --git a/sys/compat/freebsd32/syscalls.master b/sys/compat/freebsd32/syscalls.master index b082c65..a665902 100644 --- a/sys/compat/freebsd32/syscalls.master +++ b/sys/compat/freebsd32/syscalls.master @@ -743,7 +743,8 @@ 453 AUE_AUDITCTL UNIMPL auditctl 454 AUE_NULL UNIMPL _umtx_op 455 AUE_NULL UNIMPL thr_new -456 AUE_NULL UNIMPL sigqueue +456 AUE_NULL NOPROTO { int sigqueue(pid_t pid, int signum, \ + void *value); } 457 AUE_NULL UNIMPL kmq_open 458 AUE_NULL UNIMPL kmq_setattr 459 AUE_NULL UNIMPL kmq_timedreceive @@ -751,10 +752,16 @@ 461 AUE_NULL UNIMPL kmq_notify 462 AUE_NULL UNIMPL kmq_unlink 463 AUE_NULL NOPROTO { int abort2(const char *why, int nargs, void **args); } -464 AUE_NULL UNIMPL thr_set_name +464 AUE_NULL NOPROTO { int thr_set_name(long id, const char *name); } 465 AUE_NULL UNIMPL aio_fsync -466 AUE_NULL UNIMPL thr_setscheduler -467 AUE_NULL UNIMPL thr_getscheduler -468 AUE_NULL UNIMPL thr_setschedparam +466 AUE_NULL NOPROTO { int thr_setscheduler(long id, int policy,\ + const struct sched_param *param, \ + int param_size); } +467 AUE_NULL NOPROTO { int thr_getscheduler(long id, int *policy,\ + struct sched_param *param, \ + int param_size); } +468 AUE_NULL NOPROTO { int thr_setschedparam(long id, \ + const struct sched_param *param, \ + int param_size); } 469 AUE_NULL UNIMPL __getpath_fromfd 470 AUE_NULL UNIMPL __getpath_fromaddr -- cgit v1.1