summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_umtx.c
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2006-10-06 08:22:08 +0000
committerdavidxu <davidxu@FreeBSD.org>2006-10-06 08:22:08 +0000
commitc5bda619e9929f81e813f4e49d3b7baa9c4e23e0 (patch)
tree3bcafa939a8da46b5a3851c0e72cc6c21a14b15e /sys/kern/kern_umtx.c
parent25f4754ec5fe769440cd08f8bb0974188b77f801 (diff)
downloadFreeBSD-src-c5bda619e9929f81e813f4e49d3b7baa9c4e23e0.zip
FreeBSD-src-c5bda619e9929f81e813f4e49d3b7baa9c4e23e0.tar.gz
Implement 32bit umtx_lock and umtx_unlock system calls, these two system
calls are not used by libthr in RELENG_6 and HEAD, it is only used by the libthr in RELENG-5, the _umtx_op system call can do more incremental dirty works than these two system calls without having to introduce new system calls or throw away old system calls when things are going on.
Diffstat (limited to 'sys/kern/kern_umtx.c')
-rw-r--r--sys/kern/kern_umtx.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/kern/kern_umtx.c b/sys/kern/kern_umtx.c
index 0cff693..4c7f9d7 100644
--- a/sys/kern/kern_umtx.c
+++ b/sys/kern/kern_umtx.c
@@ -2303,6 +2303,20 @@ _umtx_op(struct thread *td, struct _umtx_op_args *uap)
#ifdef COMPAT_IA32
+int
+freebsd32_umtx_lock(struct thread *td, struct freebsd32_umtx_lock_args *uap)
+ /* struct umtx *umtx */
+{
+ return (do_lock_umtx32(td, (uint32_t *)uap->umtx, td->td_tid, NULL));
+}
+
+int
+freebsd32_umtx_unlock(struct thread *td, struct freebsd32_umtx_unlock_args *uap)
+ /* struct umtx *umtx */
+{
+ return (do_unlock_umtx32(td, (uint32_t *)uap->umtx, td->td_tid));
+}
+
struct timespec32 {
u_int32_t tv_sec;
u_int32_t tv_nsec;
OpenPOWER on IntegriCloud