Module Name:    src
Committed By:   scole
Date:           Thu Jan 10 17:05:56 UTC 2019

Modified Files:
        src/sys/arch/ia64/include: cpu.h lock.h

Log Message:
consolidate hint@pause in one place. remove mf.a from memory barriers


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/ia64/include/cpu.h
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/ia64/include/lock.h

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

Modified files:

Index: src/sys/arch/ia64/include/cpu.h
diff -u src/sys/arch/ia64/include/cpu.h:1.16 src/sys/arch/ia64/include/cpu.h:1.17
--- src/sys/arch/ia64/include/cpu.h:1.16	Sat Apr  8 18:01:22 2017
+++ src/sys/arch/ia64/include/cpu.h	Thu Jan 10 17:05:56 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpu.h,v 1.16 2017/04/08 18:01:22 scole Exp $	*/
+/*	$NetBSD: cpu.h,v 1.17 2019/01/10 17:05:56 scole Exp $	*/
 
 /*-
  * Copyright (c) 2006 The NetBSD Foundation, Inc.
@@ -78,6 +78,7 @@
 #include <sys/cctr.h>
 #include <machine/frame.h>
 #include <machine/ia64_cpu.h>
+#include <machine/lock.h>
 #include <sys/device_if.h>
 
 struct cpu_info {
@@ -178,12 +179,7 @@ int cpu_maxproc(void); /*XXX: Fill in ma
 
 #define DELAY(x)	 __nothing	/* XXX: FIXME */
 
-static inline void cpu_idle(void);
-static inline
-void cpu_idle(void)
-{
-	asm ("hint @pause" ::: "memory");
-}
+#define cpu_idle()	ia64_pause()
 
 #endif /* _KERNEL_ */
 #endif /* _IA64_CPU_H */

Index: src/sys/arch/ia64/include/lock.h
diff -u src/sys/arch/ia64/include/lock.h:1.6 src/sys/arch/ia64/include/lock.h:1.7
--- src/sys/arch/ia64/include/lock.h:1.6	Sun Sep 17 00:01:07 2017
+++ src/sys/arch/ia64/include/lock.h	Thu Jan 10 17:05:56 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: lock.h,v 1.6 2017/09/17 00:01:07 christos Exp $	*/
+/*	$NetBSD: lock.h,v 1.7 2019/01/10 17:05:56 scole Exp $	*/
 
 /*-
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -65,7 +65,7 @@ __cpu_simple_lock_clear(__cpu_simple_loc
 #ifdef _KERNEL
 
 #define	SPINLOCK_SPIN_HOOK	/* nothing */
-#define	SPINLOCK_BACKOFF_HOOK	/* XXX(kochi): hint@pause */
+#define	SPINLOCK_BACKOFF_HOOK	/* XXX ia64_pause() */
 
 #endif
 
@@ -116,26 +116,28 @@ __cpu_simple_unlock(__cpu_simple_lock_t 
 	*lockp = __SIMPLELOCK_UNLOCKED;
 }
 
-/* XXX mf.a overkill for these? */
 static __inline void
 mb_read(void)
 {
-	__asm __volatile("mf.a	\n"
-			 "mf	\n" ::: "memory");
+	__asm __volatile("mf	\n" ::: "memory");
 }
 
 static __inline void
 mb_write(void)
 {
-	__asm __volatile("mf.a	\n"
-			 "mf	\n" ::: "memory");
+	__asm __volatile("mf	\n" ::: "memory");
 }
 
 static __inline void
 mb_memory(void)
 {
-	__asm __volatile("mf.a	\n"
-			 "mf	\n" ::: "memory");
+	__asm __volatile("mf	\n" ::: "memory");
+}
+
+static __inline void
+ia64_pause(void)
+{
+	__asm __volatile("hint @pause" ::: "memory");
 }
 
 #endif /* _IA64_LOCK_H_ */

Reply via email to