From owner-p4-projects@FreeBSD.ORG Mon Nov 3 22:06:44 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BA4801065676; Mon, 3 Nov 2008 22:06:44 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7784C106564A for ; Mon, 3 Nov 2008 22:06:44 +0000 (UTC) (envelope-from peter-gmail@wemm.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5BCCD8FC0C for ; Mon, 3 Nov 2008 22:06:44 +0000 (UTC) (envelope-from peter-gmail@wemm.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id mA3M6iHf059803 for ; Mon, 3 Nov 2008 22:06:44 GMT (envelope-from peter-gmail@wemm.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id mA3M6iH2059801 for perforce@freebsd.org; Mon, 3 Nov 2008 22:06:44 GMT (envelope-from peter-gmail@wemm.org) Date: Mon, 3 Nov 2008 22:06:44 GMT Message-Id: <200811032206.mA3M6iH2059801@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter-gmail@wemm.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 152432 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Nov 2008 22:06:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=152432 Change 152432 by peter@peter_overcee on 2008/11/03 22:06:17 Add some more umtx placeholders. Affected files ... .. //depot/projects/valgrind/coregrind/m_syswrap/priv_syswrap-freebsd.h#11 edit .. //depot/projects/valgrind/coregrind/m_syswrap/syswrap-freebsd.c#20 edit .. //depot/projects/valgrind/include/vki/vki-freebsd.h#10 edit Differences ... ==== //depot/projects/valgrind/coregrind/m_syswrap/priv_syswrap-freebsd.h#11 (text+ko) ==== @@ -225,6 +225,8 @@ DECL_TEMPLATE(freebsd, sys_pread7); DECL_TEMPLATE(freebsd, sys_pwrite7); DECL_TEMPLATE(freebsd, sys__umtx_op); +DECL_TEMPLATE(freebsd, sys__umtx_lock); +DECL_TEMPLATE(freebsd, sys__umtx_unlock); DECL_TEMPLATE(freebsd, sys_thr_kill2); DECL_TEMPLATE(freebsd, sys_shm_open); DECL_TEMPLATE(freebsd, sys_shm_unlink); ==== //depot/projects/valgrind/coregrind/m_syswrap/syswrap-freebsd.c#20 (text+ko) ==== @@ -1814,6 +1814,30 @@ PRINT( "sys__umtx_op ( %#lx, CV_BROADCAST, %ld, %#lx, %#lx)", ARG1, ARG3, ARG4, ARG5); break; + case VKI_UMTX_OP_WAIT_UINT: + PRINT( "sys__umtx_op ( %#lx, CV_WAIT_UINT)", ARG1); + break; + case VKI_UMTX_OP_RW_RDLOCK: + PRINT( "sys__umtx_op ( %#lx, CV_RW_RDLOCK)", ARG1); + break; + case VKI_UMTX_OP_RW_WRLOCK: + PRINT( "sys__umtx_op ( %#lx, CV_RW_WRLOCK)", ARG1); + break; + case VKI_UMTX_OP_RW_UNLOCK: + PRINT( "sys__umtx_op ( %#lx, CV_RW_UNLOCK)", ARG1); + break; + case VKI_UMTX_OP_WAIT_UINT_PRIVATE: + PRINT( "sys__umtx_op ( %#lx, CV_WAIT_UINT_PRIVATE)", ARG1); + break; + case VKI_UMTX_OP_WAKE_PRIVATE: + PRINT( "sys__umtx_op ( %#lx, CV_WAKE_PRIVATE)", ARG1); + break; + case VKI_UMTX_OP_MUTEX_WAIT: + PRINT( "sys__umtx_op ( %#lx, CV_MUTEX_WAIT)", ARG1); + break; + case VKI_UMTX_OP_MUTEX_WAKE: + PRINT( "sys__umtx_op ( %#lx, CV_MUTEX_WAKE)", ARG1); + break; default: /* XXX: PHK ?? */ break; @@ -1824,6 +1848,24 @@ { } +PRE(sys__umtx_lock) +{ + PRINT( "sys__umtx_lock ( %#lx )", ARG1); +} + +POST(sys__umtx_lock) +{ +} + +PRE(sys__umtx_unlock) +{ + PRINT( "sys__umtx_unlock ( %#lx )", ARG1); +} + +POST(sys__umtx_unlock) +{ +} + PRE(sys_rtprio_thread) { PRINT( "sys_rtprio_thread ( %ld, %ld, %#lx )", ARG1, ARG2, ARG3 ); @@ -3202,8 +3244,8 @@ BSDXY(__NR_thr_self, sys_thr_self), // 432 // thr_kill 433 - // _umtx_lock 434 - // _umtx_unlock 435 + BSDXY(__NR__umtx_lock, sys__umtx_lock), // 434 + BSDXY(__NR__umtx_unlock, sys__umtx_unlock), // 435 // jail_attach 436 // extattr_list_fd 437 ==== //depot/projects/valgrind/include/vki/vki-freebsd.h#10 (text+ko) ==== @@ -1698,6 +1698,27 @@ unsigned long u_owner; }; +struct vki_umutex { + vki_lwpid_t m_owner; + vki_uint32_t m_flags; + vki_uint32_t m_ceilings[2]; + vki_uint32_t m_spare[4]; +}; + +struct vki_ucond { + vki_uint32_t c_has_waiters; + vki_uint32_t c_flags; + vki_uint32_t c_spare[2]; +}; + +struct vki_urwlock { + vki_uint32_t rw_state; + vki_uint32_t rw_flags; + vki_uint32_t rw_blocked_readers; + vki_uint32_t rw_blocked_writers; + vki_uint32_t rw_spare[4]; +}; + #define VKI_UMTX_OP_LOCK 0 #define VKI_UMTX_OP_UNLOCK 1 #define VKI_UMTX_OP_WAIT 2 @@ -1709,7 +1730,15 @@ #define VKI_UMTX_OP_CV_WAIT 8 #define VKI_UMTX_OP_CV_SIGNAL 9 #define VKI_UMTX_OP_CV_BROADCAST 10 -#define VKI_UMTX_OP_MAX 11 +#define VKI_UMTX_OP_WAIT_UINT 11 +#define VKI_UMTX_OP_RW_RDLOCK 12 +#define VKI_UMTX_OP_RW_WRLOCK 13 +#define VKI_UMTX_OP_RW_UNLOCK 14 +#define VKI_UMTX_OP_WAIT_UINT_PRIVATE 15 +#define VKI_UMTX_OP_WAKE_PRIVATE 16 +#define VKI_UMTX_OP_MUTEX_WAIT 17 +#define VKI_UMTX_OP_MUTEX_WAKE 18 +#define VKI_UMTX_OP_MAX 19 //----------------------------------------------------------------------