R4600_HIT_CACHEOP_WAR_IMPL; 
static inline void local_r4k_flush_icache_range(void *args){	struct flush_icache_range_args *fir_args = args;	unsigned long dc_lsize = cpu_dcache_line_size();	unsigned long ic_lsize = cpu_icache_line_size();	unsigned long sc_lsize = cpu_scache_line_size();	unsigned long start = fir_args->start;	unsigned long end = fir_args->end;	unsigned long addr, aend;	if (!cpu_has_ic_fills_f_dc) {		if (end - start > dcache_size) {			r4k_blast_dcache();		} else {			addr = start & ~(dc_lsize - 1);			aend = (end - 1) & ~(dc_lsize - 1);			while (1) {				/* Hit_Writeback_Inv_D */				protected_writeback_dcache_line(addr);				if (addr == aend)					break;				addr += dc_lsize;			}		}		if (!cpu_icache_snoops_remote_store) {			if (end - start > scache_size) {				r4k_blast_scache();			} else {				addr = start & ~(sc_lsize - 1);				aend = (end - 1) & ~(sc_lsize - 1);				while (1) {					/* Hit_Writeback_Inv_SD */					protected_writeback_scache_line(addr);					if (addr == aend)						break;					addr += sc_lsize;				}			}		}	}	if (end - start > icache_size)		r4k_blast_icache();	else {		addr = start & ~(ic_lsize - 1);		aend = (end - 1) & ~(ic_lsize - 1);		while (1) {			/* Hit_Invalidate_I */			protected_flush_icache_line(addr);			if (addr == aend)				break;			addr += ic_lsize;		}	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/10a3dabddd79473130c6ded7f7cef1d55fccc115/c-r4k.c/clean/arch/mips/mm/c-r4k.c