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