Lines Matching refs:buf

104 pg_addiu(u32 **buf, unsigned int reg1, unsigned int reg2, unsigned int off)  in pg_addiu()  argument
108 uasm_i_lui(buf, T9, uasm_rel_hi(off)); in pg_addiu()
109 uasm_i_addiu(buf, T9, T9, uasm_rel_lo(off)); in pg_addiu()
111 uasm_i_addiu(buf, T9, ZERO, off); in pg_addiu()
112 uasm_i_daddu(buf, reg1, reg2, T9); in pg_addiu()
115 uasm_i_lui(buf, T9, uasm_rel_hi(off)); in pg_addiu()
116 uasm_i_addiu(buf, T9, T9, uasm_rel_lo(off)); in pg_addiu()
117 UASM_i_ADDU(buf, reg1, reg2, T9); in pg_addiu()
119 UASM_i_ADDIU(buf, reg1, reg2, off); in pg_addiu()
232 static void build_clear_store(u32 **buf, int off) in build_clear_store() argument
235 uasm_i_sd(buf, ZERO, off, A0); in build_clear_store()
237 uasm_i_sw(buf, ZERO, off, A0); in build_clear_store()
241 static inline void build_clear_pref(u32 **buf, int off) in build_clear_pref() argument
247 _uasm_i_pref(buf, pref_dst_mode, pref_bias_clear_store + off, in build_clear_pref()
251 uasm_i_cache(buf, Create_Dirty_Excl_SD, off, A0); in build_clear_pref()
255 uasm_i_nop(buf); in build_clear_pref()
256 uasm_i_nop(buf); in build_clear_pref()
257 uasm_i_nop(buf); in build_clear_pref()
258 uasm_i_nop(buf); in build_clear_pref()
263 uasm_i_lw(buf, ZERO, ZERO, AT); in build_clear_pref()
265 uasm_i_cache(buf, Create_Dirty_Excl_D, off, A0); in build_clear_pref()
278 u32 *buf = &__clear_page_start; in build_clear_page() local
303 pg_addiu(&buf, A2, A0, off); in build_clear_page()
305 uasm_i_ori(&buf, A2, A0, off); in build_clear_page()
308 uasm_i_lui(&buf, AT, uasm_rel_hi(0xa0000000)); in build_clear_page()
313 build_clear_pref(&buf, -off); in build_clear_page()
316 uasm_l_clear_pref(&l, buf); in build_clear_page()
318 build_clear_pref(&buf, off); in build_clear_page()
319 build_clear_store(&buf, off); in build_clear_page()
322 pg_addiu(&buf, A0, A0, 2 * off); in build_clear_page()
325 build_clear_pref(&buf, off); in build_clear_page()
327 uasm_il_bne(&buf, &r, A0, A2, label_clear_pref); in build_clear_page()
328 build_clear_store(&buf, off); in build_clear_page()
333 pg_addiu(&buf, A2, A0, pref_bias_clear_store); in build_clear_page()
334 uasm_l_clear_nopref(&l, buf); in build_clear_page()
337 build_clear_store(&buf, off); in build_clear_page()
340 pg_addiu(&buf, A0, A0, 2 * off); in build_clear_page()
344 uasm_il_bne(&buf, &r, A0, A2, in build_clear_page()
346 build_clear_store(&buf, off); in build_clear_page()
351 uasm_i_jr(&buf, RA); in build_clear_page()
352 uasm_i_nop(&buf); in build_clear_page()
354 BUG_ON(buf > &__clear_page_end); in build_clear_page()
359 (u32)(buf - &__clear_page_start)); in build_clear_page()
363 for (i = 0; i < (buf - &__clear_page_start); i++) in build_clear_page()
368 static void build_copy_load(u32 **buf, int reg, int off) in build_copy_load() argument
371 uasm_i_ld(buf, reg, off, A1); in build_copy_load()
373 uasm_i_lw(buf, reg, off, A1); in build_copy_load()
377 static void build_copy_store(u32 **buf, int reg, int off) in build_copy_store() argument
380 uasm_i_sd(buf, reg, off, A0); in build_copy_store()
382 uasm_i_sw(buf, reg, off, A0); in build_copy_store()
386 static inline void build_copy_load_pref(u32 **buf, int off) in build_copy_load_pref() argument
392 _uasm_i_pref(buf, pref_src_mode, pref_bias_copy_load + off, A1); in build_copy_load_pref()
395 static inline void build_copy_store_pref(u32 **buf, int off) in build_copy_store_pref() argument
401 _uasm_i_pref(buf, pref_dst_mode, pref_bias_copy_store + off, in build_copy_store_pref()
405 uasm_i_cache(buf, Create_Dirty_Excl_SD, off, A0); in build_copy_store_pref()
409 uasm_i_nop(buf); in build_copy_store_pref()
410 uasm_i_nop(buf); in build_copy_store_pref()
411 uasm_i_nop(buf); in build_copy_store_pref()
412 uasm_i_nop(buf); in build_copy_store_pref()
417 uasm_i_lw(buf, ZERO, ZERO, AT); in build_copy_store_pref()
419 uasm_i_cache(buf, Create_Dirty_Excl_D, off, A0); in build_copy_store_pref()
427 u32 *buf = &__copy_page_start; in build_copy_page() local
456 pg_addiu(&buf, A2, A0, off); in build_copy_page()
458 uasm_i_ori(&buf, A2, A0, off); in build_copy_page()
461 uasm_i_lui(&buf, AT, uasm_rel_hi(0xa0000000)); in build_copy_page()
466 build_copy_load_pref(&buf, -off); in build_copy_page()
472 build_copy_store_pref(&buf, -off); in build_copy_page()
475 uasm_l_copy_pref_both(&l, buf); in build_copy_page()
477 build_copy_load_pref(&buf, off); in build_copy_page()
478 build_copy_load(&buf, T0, off); in build_copy_page()
479 build_copy_load_pref(&buf, off + copy_word_size); in build_copy_page()
480 build_copy_load(&buf, T1, off + copy_word_size); in build_copy_page()
481 build_copy_load_pref(&buf, off + 2 * copy_word_size); in build_copy_page()
482 build_copy_load(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
483 build_copy_load_pref(&buf, off + 3 * copy_word_size); in build_copy_page()
484 build_copy_load(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
485 build_copy_store_pref(&buf, off); in build_copy_page()
486 build_copy_store(&buf, T0, off); in build_copy_page()
487 build_copy_store_pref(&buf, off + copy_word_size); in build_copy_page()
488 build_copy_store(&buf, T1, off + copy_word_size); in build_copy_page()
489 build_copy_store_pref(&buf, off + 2 * copy_word_size); in build_copy_page()
490 build_copy_store(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
491 build_copy_store_pref(&buf, off + 3 * copy_word_size); in build_copy_page()
492 build_copy_store(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
495 pg_addiu(&buf, A1, A1, 2 * off); in build_copy_page()
496 pg_addiu(&buf, A0, A0, 2 * off); in build_copy_page()
499 build_copy_load_pref(&buf, off); in build_copy_page()
500 build_copy_load(&buf, T0, off); in build_copy_page()
501 build_copy_load_pref(&buf, off + copy_word_size); in build_copy_page()
502 build_copy_load(&buf, T1, off + copy_word_size); in build_copy_page()
503 build_copy_load_pref(&buf, off + 2 * copy_word_size); in build_copy_page()
504 build_copy_load(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
505 build_copy_load_pref(&buf, off + 3 * copy_word_size); in build_copy_page()
506 build_copy_load(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
507 build_copy_store_pref(&buf, off); in build_copy_page()
508 build_copy_store(&buf, T0, off); in build_copy_page()
509 build_copy_store_pref(&buf, off + copy_word_size); in build_copy_page()
510 build_copy_store(&buf, T1, off + copy_word_size); in build_copy_page()
511 build_copy_store_pref(&buf, off + 2 * copy_word_size); in build_copy_page()
512 build_copy_store(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
513 build_copy_store_pref(&buf, off + 3 * copy_word_size); in build_copy_page()
515 uasm_il_bne(&buf, &r, A2, A0, label_copy_pref_both); in build_copy_page()
516 build_copy_store(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
521 pg_addiu(&buf, A2, A0, in build_copy_page()
523 uasm_l_copy_pref_store(&l, buf); in build_copy_page()
526 build_copy_load(&buf, T0, off); in build_copy_page()
527 build_copy_load(&buf, T1, off + copy_word_size); in build_copy_page()
528 build_copy_load(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
529 build_copy_load(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
530 build_copy_store_pref(&buf, off); in build_copy_page()
531 build_copy_store(&buf, T0, off); in build_copy_page()
532 build_copy_store_pref(&buf, off + copy_word_size); in build_copy_page()
533 build_copy_store(&buf, T1, off + copy_word_size); in build_copy_page()
534 build_copy_store_pref(&buf, off + 2 * copy_word_size); in build_copy_page()
535 build_copy_store(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
536 build_copy_store_pref(&buf, off + 3 * copy_word_size); in build_copy_page()
537 build_copy_store(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
540 pg_addiu(&buf, A1, A1, 2 * off); in build_copy_page()
541 pg_addiu(&buf, A0, A0, 2 * off); in build_copy_page()
544 build_copy_load(&buf, T0, off); in build_copy_page()
545 build_copy_load(&buf, T1, off + copy_word_size); in build_copy_page()
546 build_copy_load(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
547 build_copy_load(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
548 build_copy_store_pref(&buf, off); in build_copy_page()
549 build_copy_store(&buf, T0, off); in build_copy_page()
550 build_copy_store_pref(&buf, off + copy_word_size); in build_copy_page()
551 build_copy_store(&buf, T1, off + copy_word_size); in build_copy_page()
552 build_copy_store_pref(&buf, off + 2 * copy_word_size); in build_copy_page()
553 build_copy_store(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
554 build_copy_store_pref(&buf, off + 3 * copy_word_size); in build_copy_page()
556 uasm_il_bne(&buf, &r, A2, A0, in build_copy_page()
558 build_copy_store(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
564 pg_addiu(&buf, A2, A0, pref_bias_copy_store); in build_copy_page()
565 uasm_l_copy_nopref(&l, buf); in build_copy_page()
568 build_copy_load(&buf, T0, off); in build_copy_page()
569 build_copy_load(&buf, T1, off + copy_word_size); in build_copy_page()
570 build_copy_load(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
571 build_copy_load(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
572 build_copy_store(&buf, T0, off); in build_copy_page()
573 build_copy_store(&buf, T1, off + copy_word_size); in build_copy_page()
574 build_copy_store(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
575 build_copy_store(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
578 pg_addiu(&buf, A1, A1, 2 * off); in build_copy_page()
579 pg_addiu(&buf, A0, A0, 2 * off); in build_copy_page()
582 build_copy_load(&buf, T0, off); in build_copy_page()
583 build_copy_load(&buf, T1, off + copy_word_size); in build_copy_page()
584 build_copy_load(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
585 build_copy_load(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
586 build_copy_store(&buf, T0, off); in build_copy_page()
587 build_copy_store(&buf, T1, off + copy_word_size); in build_copy_page()
588 build_copy_store(&buf, T2, off + 2 * copy_word_size); in build_copy_page()
590 uasm_il_bne(&buf, &r, A2, A0, in build_copy_page()
592 build_copy_store(&buf, T3, off + 3 * copy_word_size); in build_copy_page()
597 uasm_i_jr(&buf, RA); in build_copy_page()
598 uasm_i_nop(&buf); in build_copy_page()
600 BUG_ON(buf > &__copy_page_end); in build_copy_page()
605 (u32)(buf - &__copy_page_start)); in build_copy_page()
609 for (i = 0; i < (buf - &__copy_page_start); i++) in build_copy_page()