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_ */