PERFORCE change 152432 for review
Peter Wemm
peter at FreeBSD.org
Mon Nov 3 14:06:45 PST 2008
http://perforce.freebsd.org/chv.cgi?CH=152432
Change 152432 by peter at 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
//----------------------------------------------------------------------
More information about the p4-projects
mailing list