summaryrefslogtreecommitdiff
path: root/arch/sh/include/asm/system_32.h
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2009-08-16 01:50:17 +0900
committerPaul Mundt <lethal@linux-sh.org>2009-08-16 01:50:17 +0900
commit94ecd224c940830e2f2724c3860eb7fb74c15d31 (patch)
treeb3940834bc26796af862acf1a24810a2d0d865c9 /arch/sh/include/asm/system_32.h
parent1ee4ab09f38b77b3a5750429d456d6606b237924 (diff)
downloadlinux-3.10-94ecd224c940830e2f2724c3860eb7fb74c15d31.tar.gz
linux-3.10-94ecd224c940830e2f2724c3860eb7fb74c15d31.tar.bz2
linux-3.10-94ecd224c940830e2f2724c3860eb7fb74c15d31.zip
sh: Fix up the SH-5 build with caches enabled.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/asm/system_32.h')
-rw-r--r--arch/sh/include/asm/system_32.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/sh/include/asm/system_32.h b/arch/sh/include/asm/system_32.h
index d7299d69ff7..5ddd2359f3e 100644
--- a/arch/sh/include/asm/system_32.h
+++ b/arch/sh/include/asm/system_32.h
@@ -63,6 +63,16 @@ do { \
#define __restore_dsp(tsk) do { } while (0)
#endif
+#if defined(CONFIG_CPU_SH4A)
+#define __icbi(addr) __asm__ __volatile__ ( "icbi @%0\n\t" : : "r" (addr))
+#else
+#define __icbi(addr) mb()
+#endif
+
+#define __ocbp(addr) __asm__ __volatile__ ( "ocbp @%0\n\t" : : "r" (addr))
+#define __ocbi(addr) __asm__ __volatile__ ( "ocbi @%0\n\t" : : "r" (addr))
+#define __ocbwb(addr) __asm__ __volatile__ ( "ocbwb @%0\n\t" : : "r" (addr))
+
struct task_struct *__switch_to(struct task_struct *prev,
struct task_struct *next);