1
/* Instruction cache flushing for powerpc, not on AIX */
4
* Copyright 1997-2006 Bruno Haible, <bruno@clisp.org>
6
* This is free software distributed under the GNU General Public Licence
7
* described in the file COPYING. Contact the author if you don't have this
8
* or can't live with it. There is ABSOLUTELY NO WARRANTY, explicit or implied,
12
void __TR_clear_cache (char* first_addr)
14
/* Taken from egcs-1.1.2/gcc/config/rs6000/tramp.asm. */
15
asm volatile ("icbi 0,%0; dcbf 0,%0" : : "r" (first_addr));
16
asm volatile ("icbi 0,%0; dcbf 0,%0" : : "r" (first_addr+4));
17
asm volatile ("icbi 0,%0; dcbf 0,%0" : : "r" (first_addr+8));
18
asm volatile ("icbi 0,%0; dcbf 0,%0" : : "r" (first_addr+12));
19
asm volatile ("icbi 0,%0; dcbf 0,%0" : : "r" (first_addr+16));
20
asm volatile ("icbi 0,%0; dcbf 0,%0" : : "r" (first_addr+20));
21
asm volatile ("icbi 0,%0; dcbf 0,%0" : : "r" (first_addr+24));
22
asm volatile ("icbi 0,%0; dcbf 0,%0" : : "r" (first_addr+28));
23
asm volatile ("icbi 0,%0; dcbf 0,%0" : : "r" (first_addr+32));
24
asm volatile ("sync; isync");