Date: Mon, 3 Nov 2008 22:06:44 GMT From: Peter Wemm <peter@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 152432 for review Message-ID: <200811032206.mA3M6iH2059801@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 //----------------------------------------------------------------------
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811032206.mA3M6iH2059801>