summaryrefslogtreecommitdiff
path: root/arch/sh/include/asm/processor_32.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-11-25 00:58:19 +0300
committerLinus Torvalds <torvalds@linux-foundation.org>2010-11-25 00:58:19 +0300
commit3070fb888be52c5488976828ffc9f950872ffadc (patch)
treede59e3130d6e715a45199bf28e10d43d2ec570b1 /arch/sh/include/asm/processor_32.h
parent68ca92aa1f980d91ac98f798b313b70864f60e4b (diff)
parentdfcd6e438927ad8c54278e5b1a34a4fe76e57ad2 (diff)
downloadlinux-3070fb888be52c5488976828ffc9f950872ffadc.tar.xz
Merge branch 'sh-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
* 'sh-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: clkfwk: Build fix for non-legacy CPG changes. sh: Use GCC __builtin_prefetch() to implement prefetch(). sh: fix vsyscall compilation due to .eh_frame issue sh: avoid to flush all cache in sys_cacheflush sh: clkfwk: Disable init clk op for non-legacy clocks. sh: clkfwk: Kill off now unused algo_id in set_rate op. sh: clkfwk: Kill off unused clk_set_rate_ex().
Diffstat (limited to 'arch/sh/include/asm/processor_32.h')
-rw-r--r--arch/sh/include/asm/processor_32.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/sh/include/asm/processor_32.h b/arch/sh/include/asm/processor_32.h
index 46d5179c9f49..e3c73cdd8c90 100644
--- a/arch/sh/include/asm/processor_32.h
+++ b/arch/sh/include/asm/processor_32.h
@@ -199,10 +199,13 @@ extern unsigned long get_wchan(struct task_struct *p);
#define ARCH_HAS_PREFETCHW
static inline void prefetch(void *x)
{
- __asm__ __volatile__ ("pref @%0\n\t" : : "r" (x) : "memory");
+ __builtin_prefetch(x, 0, 3);
}
-#define prefetchw(x) prefetch(x)
+static inline void prefetchw(void *x)
+{
+ __builtin_prefetch(x, 1, 3);
+}
#endif
#endif /* __KERNEL__ */