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