• Home
  • Raw
  • Download

Lines Matching full:off

105 pg_addiu(u32 **buf, unsigned int reg1, unsigned int reg2, unsigned int off)  in pg_addiu()  argument
108 if (off > 0x7fff) { in pg_addiu()
109 uasm_i_lui(buf, T9, uasm_rel_hi(off)); in pg_addiu()
110 uasm_i_addiu(buf, T9, T9, uasm_rel_lo(off)); in pg_addiu()
112 uasm_i_addiu(buf, T9, ZERO, off); in pg_addiu()
115 if (off > 0x7fff) { in pg_addiu()
116 uasm_i_lui(buf, T9, uasm_rel_hi(off)); in pg_addiu()
117 uasm_i_addiu(buf, T9, T9, uasm_rel_lo(off)); in pg_addiu()
120 UASM_i_ADDIU(buf, reg1, reg2, off); in pg_addiu()
233 static void build_clear_store(u32 **buf, int off) in build_clear_store() argument
236 uasm_i_sd(buf, ZERO, off, A0); in build_clear_store()
238 uasm_i_sw(buf, ZERO, off, A0); in build_clear_store()
242 static inline void build_clear_pref(u32 **buf, int off) in build_clear_pref() argument
244 if (off & cache_line_mask()) in build_clear_pref()
248 _uasm_i_pref(buf, pref_dst_mode, pref_bias_clear_store + off, in build_clear_pref()
252 uasm_i_cache(buf, Create_Dirty_Excl_SD, off, A0); in build_clear_pref()
264 uasm_i_cache(buf, Create_Dirty_Excl_D, off, A0); in build_clear_pref()
276 int off; in build_clear_page() local
300 off = PAGE_SIZE - pref_bias_clear_store; in build_clear_page()
301 if (off > 0xffff || !pref_bias_clear_store) in build_clear_page()
302 pg_addiu(&buf, A2, A0, off); in build_clear_page()
304 uasm_i_ori(&buf, A2, A0, off); in build_clear_page()
309 off = cache_line_size ? min(8, pref_bias_clear_store / cache_line_size) in build_clear_page()
311 while (off) { in build_clear_page()
312 build_clear_pref(&buf, -off); in build_clear_page()
313 off -= cache_line_size; in build_clear_page()
317 build_clear_pref(&buf, off); in build_clear_page()
318 build_clear_store(&buf, off); in build_clear_page()
319 off += clear_word_size; in build_clear_page()
320 } while (off < half_clear_loop_size); in build_clear_page()
321 pg_addiu(&buf, A0, A0, 2 * off); in build_clear_page()
322 off = -off; in build_clear_page()
324 build_clear_pref(&buf, off); in build_clear_page()
325 if (off == -clear_word_size) in build_clear_page()
327 build_clear_store(&buf, off); in build_clear_page()
328 off += clear_word_size; in build_clear_page()
329 } while (off < 0); in build_clear_page()
334 off = 0; in build_clear_page()
336 build_clear_store(&buf, off); in build_clear_page()
337 off += clear_word_size; in build_clear_page()
338 } while (off < half_clear_loop_size); in build_clear_page()
339 pg_addiu(&buf, A0, A0, 2 * off); in build_clear_page()
340 off = -off; in build_clear_page()
342 if (off == -clear_word_size) in build_clear_page()
345 build_clear_store(&buf, off); in build_clear_page()
346 off += clear_word_size; in build_clear_page()
347 } while (off < 0); in build_clear_page()
367 static void build_copy_load(u32 **buf, int reg, int off) in build_copy_load() argument
370 uasm_i_ld(buf, reg, off, A1); in build_copy_load()
372 uasm_i_lw(buf, reg, off, A1); in build_copy_load()
376 static void build_copy_store(u32 **buf, int reg, int off) in build_copy_store() argument
379 uasm_i_sd(buf, reg, off, A0); in build_copy_store()
381 uasm_i_sw(buf, reg, off, A0); in build_copy_store()
385 static inline void build_copy_load_pref(u32 **buf, int off) in build_copy_load_pref() argument
387 if (off & cache_line_mask()) in build_copy_load_pref()
391 _uasm_i_pref(buf, pref_src_mode, pref_bias_copy_load + off, A1); in build_copy_load_pref()
394 static inline void build_copy_store_pref(u32 **buf, int off) in build_copy_store_pref() argument
396 if (off & cache_line_mask()) in build_copy_store_pref()
400 _uasm_i_pref(buf, pref_dst_mode, pref_bias_copy_store + off, in build_copy_store_pref()
404 uasm_i_cache(buf, Create_Dirty_Excl_SD, off, A0); in build_copy_store_pref()
416 uasm_i_cache(buf, Create_Dirty_Excl_D, off, A0); in build_copy_store_pref()
423 int off; in build_copy_page() local
451 off = PAGE_SIZE - pref_bias_copy_load; in build_copy_page()
452 if (off > 0xffff || !pref_bias_copy_load) in build_copy_page()
453 pg_addiu(&buf, A2, A0, off); in build_copy_page()
455 uasm_i_ori(&buf, A2, A0, off); in build_copy_page()
460 off = cache_line_size ? min(8, pref_bias_copy_load / cache_line_size) * in build_copy_page()
462 while (off) { in build_copy_page()
463 build_copy_load_pref(&buf, -off); in build_copy_page()
464 off -= cache_line_size; in build_copy_page()
466 off = cache_line_size ? min(8, pref_bias_copy_store / cache_line_size) * in build_copy_page()
468 while (off) { in build_copy_page()
469 build_copy_store_pref(&buf, -off); in build_copy_page()
470 off -= cache_line_size; in build_copy_page()
474 build_copy_load_pref(&buf, off); in build_copy_page()
475 build_copy_load(&buf, T0, off); in build_copy_page()
476 build_copy_load_pref(&buf, off + copy_word_size); in build_copy_page()
477 build_copy_load(&buf, T1, off + copy_word_size); in build_copy_page()
478 build_copy_load_pref(&buf, off + 2 * copy_word_size); in build_copy_page()
479 build_copy_load(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
480 build_copy_load_pref(&buf, off + 3 * copy_word_size); in build_copy_page()
481 build_copy_load(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
482 build_copy_store_pref(&buf, off); in build_copy_page()
483 build_copy_store(&buf, T0, off); in build_copy_page()
484 build_copy_store_pref(&buf, off + copy_word_size); in build_copy_page()
485 build_copy_store(&buf, T1, off + copy_word_size); in build_copy_page()
486 build_copy_store_pref(&buf, off + 2 * copy_word_size); in build_copy_page()
487 build_copy_store(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
488 build_copy_store_pref(&buf, off + 3 * copy_word_size); in build_copy_page()
489 build_copy_store(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
490 off += 4 * copy_word_size; in build_copy_page()
491 } while (off < half_copy_loop_size); in build_copy_page()
492 pg_addiu(&buf, A1, A1, 2 * off); in build_copy_page()
493 pg_addiu(&buf, A0, A0, 2 * off); in build_copy_page()
494 off = -off; in build_copy_page()
496 build_copy_load_pref(&buf, off); in build_copy_page()
497 build_copy_load(&buf, T0, off); in build_copy_page()
498 build_copy_load_pref(&buf, off + copy_word_size); in build_copy_page()
499 build_copy_load(&buf, T1, off + copy_word_size); in build_copy_page()
500 build_copy_load_pref(&buf, off + 2 * copy_word_size); in build_copy_page()
501 build_copy_load(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
502 build_copy_load_pref(&buf, off + 3 * copy_word_size); in build_copy_page()
503 build_copy_load(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
504 build_copy_store_pref(&buf, off); in build_copy_page()
505 build_copy_store(&buf, T0, off); in build_copy_page()
506 build_copy_store_pref(&buf, off + copy_word_size); in build_copy_page()
507 build_copy_store(&buf, T1, off + copy_word_size); in build_copy_page()
508 build_copy_store_pref(&buf, off + 2 * copy_word_size); in build_copy_page()
509 build_copy_store(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
510 build_copy_store_pref(&buf, off + 3 * copy_word_size); in build_copy_page()
511 if (off == -(4 * copy_word_size)) in build_copy_page()
513 build_copy_store(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
514 off += 4 * copy_word_size; in build_copy_page()
515 } while (off < 0); in build_copy_page()
521 off = 0; in build_copy_page()
523 build_copy_load(&buf, T0, off); in build_copy_page()
524 build_copy_load(&buf, T1, off + copy_word_size); in build_copy_page()
525 build_copy_load(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
526 build_copy_load(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
527 build_copy_store_pref(&buf, off); in build_copy_page()
528 build_copy_store(&buf, T0, off); in build_copy_page()
529 build_copy_store_pref(&buf, off + copy_word_size); in build_copy_page()
530 build_copy_store(&buf, T1, off + copy_word_size); in build_copy_page()
531 build_copy_store_pref(&buf, off + 2 * copy_word_size); in build_copy_page()
532 build_copy_store(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
533 build_copy_store_pref(&buf, off + 3 * copy_word_size); in build_copy_page()
534 build_copy_store(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
535 off += 4 * copy_word_size; in build_copy_page()
536 } while (off < half_copy_loop_size); in build_copy_page()
537 pg_addiu(&buf, A1, A1, 2 * off); in build_copy_page()
538 pg_addiu(&buf, A0, A0, 2 * off); in build_copy_page()
539 off = -off; in build_copy_page()
541 build_copy_load(&buf, T0, off); in build_copy_page()
542 build_copy_load(&buf, T1, off + copy_word_size); in build_copy_page()
543 build_copy_load(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
544 build_copy_load(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
545 build_copy_store_pref(&buf, off); in build_copy_page()
546 build_copy_store(&buf, T0, off); in build_copy_page()
547 build_copy_store_pref(&buf, off + copy_word_size); in build_copy_page()
548 build_copy_store(&buf, T1, off + copy_word_size); in build_copy_page()
549 build_copy_store_pref(&buf, off + 2 * copy_word_size); in build_copy_page()
550 build_copy_store(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
551 build_copy_store_pref(&buf, off + 3 * copy_word_size); in build_copy_page()
552 if (off == -(4 * copy_word_size)) in build_copy_page()
555 build_copy_store(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
556 off += 4 * copy_word_size; in build_copy_page()
557 } while (off < 0); in build_copy_page()
563 off = 0; in build_copy_page()
565 build_copy_load(&buf, T0, off); in build_copy_page()
566 build_copy_load(&buf, T1, off + copy_word_size); in build_copy_page()
567 build_copy_load(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
568 build_copy_load(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
569 build_copy_store(&buf, T0, off); in build_copy_page()
570 build_copy_store(&buf, T1, off + copy_word_size); in build_copy_page()
571 build_copy_store(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
572 build_copy_store(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
573 off += 4 * copy_word_size; in build_copy_page()
574 } while (off < half_copy_loop_size); in build_copy_page()
575 pg_addiu(&buf, A1, A1, 2 * off); in build_copy_page()
576 pg_addiu(&buf, A0, A0, 2 * off); in build_copy_page()
577 off = -off; in build_copy_page()
579 build_copy_load(&buf, T0, off); in build_copy_page()
580 build_copy_load(&buf, T1, off + copy_word_size); in build_copy_page()
581 build_copy_load(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
582 build_copy_load(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
583 build_copy_store(&buf, T0, off); in build_copy_page()
584 build_copy_store(&buf, T1, off + copy_word_size); in build_copy_page()
585 build_copy_store(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
586 if (off == -(4 * copy_word_size)) in build_copy_page()
589 build_copy_store(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
590 off += 4 * copy_word_size; in build_copy_page()
591 } while (off < 0); in build_copy_page()