Lines Matching refs:pp
192 static void cps_gen_cache_routine(u32 **pp, struct uasm_label **pl, in cps_gen_cache_routine() argument
206 UASM_i_LA(pp, t0, (long)CKSEG0); in cps_gen_cache_routine()
210 uasm_i_addiu(pp, t1, t0, cache_size); in cps_gen_cache_routine()
212 UASM_i_LA(pp, t1, (long)(CKSEG0 + cache_size)); in cps_gen_cache_routine()
215 uasm_build_label(pl, *pp, lbl); in cps_gen_cache_routine()
220 uasm_i_cache(pp, op, 0, t0); in cps_gen_cache_routine()
221 uasm_i_addiu(pp, t0, t0, cache->linesz); in cps_gen_cache_routine()
223 uasm_i_cache(pp, op, i * cache->linesz, t0); in cps_gen_cache_routine()
229 uasm_i_addiu(pp, t0, t0, unroll_lines * cache->linesz); in cps_gen_cache_routine()
232 uasm_il_bne(pp, pr, t0, t1, lbl); in cps_gen_cache_routine()
233 uasm_i_nop(pp); in cps_gen_cache_routine()
236 static int cps_gen_flush_fsb(u32 **pp, struct uasm_label **pl, in cps_gen_flush_fsb() argument
278 uasm_i_mfc0(pp, t2, 25, (perf_counter * 2) + 0); /* PerfCtlN */ in cps_gen_flush_fsb()
279 uasm_i_mfc0(pp, t3, 25, (perf_counter * 2) + 1); /* PerfCntN */ in cps_gen_flush_fsb()
282 uasm_i_addiu(pp, t0, zero, (perf_event << 5) | 0xf); in cps_gen_flush_fsb()
283 uasm_i_mtc0(pp, t0, 25, (perf_counter * 2) + 0); /* PerfCtlN */ in cps_gen_flush_fsb()
284 uasm_i_ehb(pp); in cps_gen_flush_fsb()
285 uasm_i_mtc0(pp, zero, 25, (perf_counter * 2) + 1); /* PerfCntN */ in cps_gen_flush_fsb()
286 uasm_i_ehb(pp); in cps_gen_flush_fsb()
289 UASM_i_LA(pp, t0, (long)CKSEG0); in cps_gen_flush_fsb()
292 uasm_build_label(pl, *pp, lbl); in cps_gen_flush_fsb()
296 uasm_i_lw(pp, zero, i * line_size * line_stride, t0); in cps_gen_flush_fsb()
303 uasm_i_cache(pp, Hit_Invalidate_D, in cps_gen_flush_fsb()
305 uasm_i_cache(pp, Hit_Writeback_Inv_SD, in cps_gen_flush_fsb()
310 uasm_i_sync(pp, __SYNC_full); in cps_gen_flush_fsb()
311 uasm_i_ehb(pp); in cps_gen_flush_fsb()
314 uasm_i_mfc0(pp, t1, 25, (perf_counter * 2) + 1); /* PerfCntN */ in cps_gen_flush_fsb()
317 uasm_il_beqz(pp, pr, t1, lbl); in cps_gen_flush_fsb()
318 uasm_i_nop(pp); in cps_gen_flush_fsb()
321 uasm_i_mtc0(pp, t2, 25, (perf_counter * 2) + 0); /* PerfCtlN */ in cps_gen_flush_fsb()
322 uasm_i_ehb(pp); in cps_gen_flush_fsb()
323 uasm_i_mtc0(pp, t3, 25, (perf_counter * 2) + 1); /* PerfCntN */ in cps_gen_flush_fsb()
324 uasm_i_ehb(pp); in cps_gen_flush_fsb()
329 static void cps_gen_set_top_bit(u32 **pp, struct uasm_label **pl, in cps_gen_set_top_bit() argument
333 uasm_i_lui(pp, t0, uasm_rel_hi(0x80000000)); in cps_gen_set_top_bit()
334 uasm_build_label(pl, *pp, lbl); in cps_gen_set_top_bit()
335 uasm_i_ll(pp, t1, 0, r_addr); in cps_gen_set_top_bit()
336 uasm_i_or(pp, t1, t1, t0); in cps_gen_set_top_bit()
337 uasm_i_sc(pp, t1, 0, r_addr); in cps_gen_set_top_bit()
338 uasm_il_beqz(pp, pr, t1, lbl); in cps_gen_set_top_bit()
339 uasm_i_nop(pp); in cps_gen_set_top_bit()