summaryrefslogtreecommitdiffstats
path: root/arch/sh/include/asm/cachectl.h
diff options
context:
space:
mode:
authorStuart Menefy <stuart.menefy@st.com>2009-08-24 18:16:56 +0900
committerPaul Mundt <lethal@linux-sh.org>2009-08-24 18:16:56 +0900
commit6d243dd37002bcee54841852ab1b8606fd457851 (patch)
tree9c8e55d065116647615a86e3eb0c783fe98cc83e /arch/sh/include/asm/cachectl.h
parenta5cf9e2444ec15de5407696ff21c32dd21ca0a8d (diff)
sh: Add sys_cacheflush() call for SH CPUs.
Adds a system call to allow user code to flush code from the cache. You can use instructions for the data side, but the iside can only be done by a flush ROM which really only works with a direct mapped cache. The later SH4's have 2 way Iside, so this call allows a portable way to flush the cache. Signed-off-by: Stuart Menefy <stuart.menefy@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/asm/cachectl.h')
-rw-r--r--arch/sh/include/asm/cachectl.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/sh/include/asm/cachectl.h b/arch/sh/include/asm/cachectl.h
new file mode 100644
index 00000000000..305dd7082a6
--- /dev/null
+++ b/arch/sh/include/asm/cachectl.h
@@ -0,0 +1,12 @@
+#ifndef _SH_CACHECTL_H
+#define _SH_CACHECTL_H
+
+/* Definitions for the cacheflush system call. */
+
+#define CACHEFLUSH_D_INVAL 0x1 /* invalidate (without write back) */
+#define CACHEFLUSH_D_WB 0x2 /* write back (without invalidate) */
+#define CACHEFLUSH_D_PURGE 0x3 /* writeback and invalidate */
+
+#define CACHEFLUSH_I 0x4
+
+#endif /* _SH_CACHECTL_H */