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>
This commit is contained in:
committed by
Paul Mundt
parent
a5cf9e2444
commit
6d243dd370
@@ -1,6 +1,6 @@
|
||||
include include/asm-generic/Kbuild.asm
|
||||
|
||||
header-y += cpu-features.h
|
||||
header-y += cachectl.h cpu-features.h
|
||||
|
||||
unifdef-y += unistd_32.h
|
||||
unifdef-y += unistd_64.h
|
||||
|
12
arch/sh/include/asm/cachectl.h
Normal file
12
arch/sh/include/asm/cachectl.h
Normal file
@@ -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 */
|
@@ -132,7 +132,7 @@
|
||||
#define __NR_clone 120
|
||||
#define __NR_setdomainname 121
|
||||
#define __NR_uname 122
|
||||
#define __NR_modify_ldt 123
|
||||
#define __NR_cacheflush 123
|
||||
#define __NR_adjtimex 124
|
||||
#define __NR_mprotect 125
|
||||
#define __NR_sigprocmask 126
|
||||
|
@@ -137,7 +137,7 @@
|
||||
#define __NR_clone 120
|
||||
#define __NR_setdomainname 121
|
||||
#define __NR_uname 122
|
||||
#define __NR_modify_ldt 123
|
||||
#define __NR_cacheflush 123
|
||||
#define __NR_adjtimex 124
|
||||
#define __NR_mprotect 125
|
||||
#define __NR_sigprocmask 126
|
||||
|
Reference in New Issue
Block a user