aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2006-09-27 01:20:54 -0400
committerPaul Mundt <lethal@linux-sh.org>2006-09-27 01:20:54 -0400
commite86d6b66f5b38680746b2cb71186d90af17f150f (patch)
treeaa1074d77c65c578ece46f33a112955e0b0081e0
parente7be853df79fe8ae08ba7d933bd21e1dbb0db7bc (diff)
sh: prefetch()/prefetchw() support.
SH-2/3/4 are able to prefetch, add support for it.. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-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 eeb0f48bb99e..e99aff706cf7 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);
266#define cpu_sleep() __asm__ __volatile__ ("sleep" : : : "memory") 266#define cpu_sleep() __asm__ __volatile__ ("sleep" : : : "memory")
267#define cpu_relax() barrier() 267#define cpu_relax() barrier()
268 268
269#if defined(CONFIG_CPU_SH2A) || defined(CONFIG_CPU_SH3) || \
270 defined(CONFIG_CPU_SH4)
271#define PREFETCH_STRIDE L1_CACHE_BYTES
272#define ARCH_HAS_PREFETCH
273#define ARCH_HAS_PREFETCHW
274static inline void prefetch(void *x)
275{
276 __asm__ __volatile__ ("pref @%0\n\t" : : "r" (x) : "memory");
277}
278
279#define prefetchw(x) prefetch(x)
280#endif
281
269#endif /* __KERNEL__ */ 282#endif /* __KERNEL__ */
270#endif /* __ASM_SH_PROCESSOR_H */ 283#endif /* __ASM_SH_PROCESSOR_H */