18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * arch/alpha/lib/copy_page.S 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci * Copy an entire page. 68c2ecf20Sopenharmony_ci */ 78c2ecf20Sopenharmony_ci#include <asm/export.h> 88c2ecf20Sopenharmony_ci .text 98c2ecf20Sopenharmony_ci .align 4 108c2ecf20Sopenharmony_ci .global copy_page 118c2ecf20Sopenharmony_ci .ent copy_page 128c2ecf20Sopenharmony_cicopy_page: 138c2ecf20Sopenharmony_ci .prologue 0 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci lda $18,128 168c2ecf20Sopenharmony_ci nop 178c2ecf20Sopenharmony_ci unop 188c2ecf20Sopenharmony_ci nop 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci1: ldq $0,0($17) 218c2ecf20Sopenharmony_ci ldq $1,8($17) 228c2ecf20Sopenharmony_ci ldq $2,16($17) 238c2ecf20Sopenharmony_ci ldq $3,24($17) 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci ldq $4,32($17) 268c2ecf20Sopenharmony_ci ldq $5,40($17) 278c2ecf20Sopenharmony_ci ldq $6,48($17) 288c2ecf20Sopenharmony_ci ldq $7,56($17) 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci stq $0,0($16) 318c2ecf20Sopenharmony_ci subq $18,1,$18 328c2ecf20Sopenharmony_ci stq $1,8($16) 338c2ecf20Sopenharmony_ci addq $17,64,$17 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci stq $2,16($16) 368c2ecf20Sopenharmony_ci stq $3,24($16) 378c2ecf20Sopenharmony_ci stq $4,32($16) 388c2ecf20Sopenharmony_ci stq $5,40($16) 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci stq $6,48($16) 418c2ecf20Sopenharmony_ci stq $7,56($16) 428c2ecf20Sopenharmony_ci addq $16,64,$16 438c2ecf20Sopenharmony_ci bne $18, 1b 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci ret 468c2ecf20Sopenharmony_ci nop 478c2ecf20Sopenharmony_ci unop 488c2ecf20Sopenharmony_ci nop 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci .end copy_page 518c2ecf20Sopenharmony_ci EXPORT_SYMBOL(copy_page) 52