aboutsummaryrefslogtreecommitdiff
path: root/arch/sh/include
diff options
context:
space:
mode:
authorGiuseppe Cavallaro <peppe.cavallaro@st.com>2009-08-24 18:59:09 +0900
committerPaul Mundt <lethal@linux-sh.org>2009-08-24 18:59:09 +0900
commit788e6af37a4ace8721eda72e4abe66fe0f6b49fd (patch)
tree121e2d52430dbe5adfb04549bd2c17480e93983f /arch/sh/include
parentffad9d7a54a5e809007135595c778715aa0fb07a (diff)
sh: fix sys_cacheflush error checking
sys_cacheflush should return with EINVAL if the cache parameter is not one of ICACHE, DCACHE or BCACHE. So, we need to include 0 in the first check. It also adds the three definitions above as wrapper of the existent macros. PS: ltp cacheflush01 test now passes. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Stuart Menefy <stuart.menefy@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include')
-rw-r--r--arch/sh/include/asm/cachectl.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/sh/include/asm/cachectl.h b/arch/sh/include/asm/cachectl.h
index 305dd7082a6..6ffb4b7a212 100644
--- a/arch/sh/include/asm/cachectl.h
+++ b/arch/sh/include/asm/cachectl.h
@@ -9,4 +9,11 @@
#define CACHEFLUSH_I 0x4
+/*
+ * Options for cacheflush system call
+ */
+#define ICACHE CACHEFLUSH_I /* flush instruction cache */
+#define DCACHE CACHEFLUSH_D_PURGE /* writeback and flush data cache */
+#define BCACHE (ICACHE|DCACHE) /* flush both caches */
+
#endif /* _SH_CACHECTL_H */