aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-sh/processor.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-sh/processor.h')
-rw-r--r--include/asm-sh/processor.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/include/asm-sh/processor.h b/include/asm-sh/processor.h
index eeb0f48bb99ead..e99aff706cf7d5 100644
--- a/include/asm-sh/processor.h
+++ b/include/asm-sh/processor.h
@@ -266,5 +266,18 @@ extern unsigned long get_wchan(struct task_struct *p);
#define cpu_sleep() __asm__ __volatile__ ("sleep" : : : "memory")
#define cpu_relax() barrier()
+#if defined(CONFIG_CPU_SH2A) || defined(CONFIG_CPU_SH3) || \
+ defined(CONFIG_CPU_SH4)
+#define PREFETCH_STRIDE L1_CACHE_BYTES
+#define ARCH_HAS_PREFETCH
+#define ARCH_HAS_PREFETCHW
+static inline void prefetch(void *x)
+{
+ __asm__ __volatile__ ("pref @%0\n\t" : : "r" (x) : "memory");
+}
+
+#define prefetchw(x) prefetch(x)
+#endif
+
#endif /* __KERNEL__ */
#endif /* __ASM_SH_PROCESSOR_H */