diff options
author | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-05-28 16:26:23 +0000 |
---|---|---|
committer | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-05-28 16:26:23 +0000 |
commit | 92ecd90863ec25f9ac4c8d708a1033a248c5775e (patch) | |
tree | f63844b950154685978c57cd4ac7beaeb7fb5b3f /gcc/config/arm/linux-eabi.h | |
parent | 3918bd18c71849a8b403e45299f6da682e97705b (diff) | |
download | gcc-92ecd90863ec25f9ac4c8d708a1033a248c5775e.tar.gz |
* config/arm/lib1funcs.asm (__clear_cache): Define if
L_clear_cache.
* config/arm/linux-eabi.h (CLEAR_INSN_CACHE): Define to give an
error if used.
* config/arm/t-linux-eabi (LIB1ASMFUNCS): Add _clear_cache.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147956 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/arm/linux-eabi.h')
-rw-r--r-- | gcc/config/arm/linux-eabi.h | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h index 4174d70db4d..85410c09fa4 100644 --- a/gcc/config/arm/linux-eabi.h +++ b/gcc/config/arm/linux-eabi.h @@ -72,16 +72,8 @@ do not use -lfloat. */ #undef LIBGCC_SPEC -/* Clear the instruction cache from `beg' to `end'. This makes an - inline system call to SYS_cacheflush. */ +/* Clear the instruction cache from `beg' to `end'. This is + implemented in lib1funcs.asm, so ensure an error if this definition + is used. */ #undef CLEAR_INSN_CACHE -#define CLEAR_INSN_CACHE(BEG, END) \ -{ \ - register unsigned long _beg __asm ("a1") = (unsigned long) (BEG); \ - register unsigned long _end __asm ("a2") = (unsigned long) (END); \ - register unsigned long _flg __asm ("a3") = 0; \ - register unsigned long _scno __asm ("r7") = 0xf0002; \ - __asm __volatile ("swi 0 @ sys_cacheflush" \ - : "=r" (_beg) \ - : "0" (_beg), "r" (_end), "r" (_flg), "r" (_scno)); \ -} +#define CLEAR_INSN_CACHE(BEG, END) not used |