^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) // SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) // Copyright (C) 2005-2017 Andes Technology Corporation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) #include <linux/linkage.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) .macro lbi1 dst, addr, adj
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) lbi.bi \dst, [\addr], \adj
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) .endm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) .macro sbi1 src, addr, adj
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) sbi.bi \src, [\addr], \adj
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) .endm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) .macro lmw1 start_reg, addr, end_reg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) lmw.bim \start_reg, [\addr], \end_reg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) .endm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) .macro smw1 start_reg, addr, end_reg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) smw.bim \start_reg, [\addr], \end_reg
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) .endm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) .text
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) ENTRY(memcpy)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) move $r5, $r0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #include "copy_template.S"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) move $r0, $r5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) ret
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) ENDPROC(memcpy)