blob: 898472c36c80bcd6975b7e300665b665b3ffd6b7 [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0 */
/*
* arch/sw/lib/copy_page.S
*
* Copy an entire page.
*/
#include <asm/export.h>
.text
.align 4
.global copy_page
.ent copy_page
copy_page:
.prologue 0
ldi $18, 64
/* Optimize by GUOY from SOC 2013-06-04 */
1:
ldl $0, 0($17)
ldl $1, 8($17)
ldl $2, 16($17)
ldl $3, 24($17)
stl_nc $0, 0($16)
stl_nc $1, 8($16)
stl_nc $2, 16($16)
stl_nc $3, 24($16)
ldl $4, 32($17)
ldl $5, 40($17)
ldl $6, 48($17)
ldl $7, 56($17)
stl_nc $4, 32($16)
stl_nc $5, 40($16)
stl_nc $6, 48($16)
stl_nc $7, 56($16)
ldl $0, 64($17)
ldl $1, 72($17)
ldl $2, 80($17)
ldl $3, 88($17)
stl_nc $0, 64($16)
stl_nc $1, 72($16)
stl_nc $2, 80($16)
stl_nc $3, 88($16)
ldl $4, 96($17)
ldl $5, 104($17)
ldl $6, 112($17)
ldl $7, 120($17)
stl_nc $4, 96($16)
stl_nc $5, 104($16)
stl_nc $6, 112($16)
stl_nc $7, 120($16)
ldwe $f31, 3 * 0x80($17)
subl $18, 1, $18
addl $17, 128, $17
addl $16, 128, $16
bne $18, 1b
memb
ret
.end copy_page
EXPORT_SYMBOL(copy_page)