Module Name:    src
Committed By:   matt
Date:           Thu Aug 15 22:37:29 UTC 2013

Modified Files:
        src/lib/libpthread/arch/arm: pthread_md.h

Log Message:
Use the thumb1 versions of sev/wfe for thumb && armv6+.
if using armv5t don't do anything for thumb.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/lib/libpthread/arch/arm/pthread_md.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libpthread/arch/arm/pthread_md.h
diff -u src/lib/libpthread/arch/arm/pthread_md.h:1.8 src/lib/libpthread/arch/arm/pthread_md.h:1.9
--- src/lib/libpthread/arch/arm/pthread_md.h:1.8	Wed Sep 19 07:57:14 2012
+++ src/lib/libpthread/arch/arm/pthread_md.h	Thu Aug 15 22:37:29 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: pthread_md.h,v 1.8 2012/09/19 07:57:14 matt Exp $	*/
+/*	$NetBSD: pthread_md.h,v 1.9 2013/08/15 22:37:29 matt Exp $	*/
 
 /*
  * Copyright (c) 2001 Wasabi Systems, Inc.
@@ -49,8 +49,16 @@ pthread__sp(void)
 	return (ret);
 }
 
+#if defined(__thumb__) && defined(_ARM_ARCH_6)
+#define pthread__smt_pause()	__asm __volatile(".inst.n 0xbf20") /* wfe */
+#define pthread__smt_wake()	__asm __volatile(".inst.n 0xbf40") /* sev */
+#elif !defined(__thumb__)
 #define pthread__smt_pause()	__asm __volatile(".inst 0xe320f002") /* wfe */
 #define pthread__smt_wake()	__asm __volatile(".inst 0xe320f004") /* sev */
+#else
+#define pthread__smt_pause()
+#define pthread__smt_wake()
+#endif
 
 #define	pthread__uc_sp(ucp)	((ucp)->uc_mcontext.__gregs[_REG_SP])
 

Reply via email to