hc
2024-10-12 a5969cabbb4660eab42b6ef0412cbbd1200cf14d
kernel/arch/arm64/lib/memcpy.S
....@@ -1,25 +1,13 @@
1
+/* SPDX-License-Identifier: GPL-2.0-only */
12 /*
23 * Copyright (C) 2013 ARM Ltd.
34 * Copyright (C) 2013 Linaro.
45 *
56 * This code is based on glibc cortex strings work originally authored by Linaro
6
- * and re-licensed under GPLv2 for the Linux kernel. The original code can
77 * be found @
88 *
99 * http://bazaar.launchpad.net/~linaro-toolchain-dev/cortex-strings/trunk/
1010 * files/head:/src/aarch64/
11
- *
12
- * This program is free software; you can redistribute it and/or modify
13
- * it under the terms of the GNU General Public License version 2 as
14
- * published by the Free Software Foundation.
15
- *
16
- * This program is distributed in the hope that it will be useful,
17
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- * GNU General Public License for more details.
20
- *
21
- * You should have received a copy of the GNU General Public License
22
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
2311 */
2412
2513 #include <linux/linkage.h>
....@@ -36,41 +24,43 @@
3624 * Returns:
3725 * x0 - dest
3826 */
39
- .macro ldrb1 ptr, regB, val
40
- ldrb \ptr, [\regB], \val
27
+ .macro ldrb1 reg, ptr, val
28
+ ldrb \reg, [\ptr], \val
4129 .endm
4230
43
- .macro strb1 ptr, regB, val
44
- strb \ptr, [\regB], \val
31
+ .macro strb1 reg, ptr, val
32
+ strb \reg, [\ptr], \val
4533 .endm
4634
47
- .macro ldrh1 ptr, regB, val
48
- ldrh \ptr, [\regB], \val
35
+ .macro ldrh1 reg, ptr, val
36
+ ldrh \reg, [\ptr], \val
4937 .endm
5038
51
- .macro strh1 ptr, regB, val
52
- strh \ptr, [\regB], \val
39
+ .macro strh1 reg, ptr, val
40
+ strh \reg, [\ptr], \val
5341 .endm
5442
55
- .macro ldr1 ptr, regB, val
56
- ldr \ptr, [\regB], \val
43
+ .macro ldr1 reg, ptr, val
44
+ ldr \reg, [\ptr], \val
5745 .endm
5846
59
- .macro str1 ptr, regB, val
60
- str \ptr, [\regB], \val
47
+ .macro str1 reg, ptr, val
48
+ str \reg, [\ptr], \val
6149 .endm
6250
63
- .macro ldp1 ptr, regB, regC, val
64
- ldp \ptr, \regB, [\regC], \val
51
+ .macro ldp1 reg1, reg2, ptr, val
52
+ ldp \reg1, \reg2, [\ptr], \val
6553 .endm
6654
67
- .macro stp1 ptr, regB, regC, val
68
- stp \ptr, \regB, [\regC], \val
55
+ .macro stp1 reg1, reg2, ptr, val
56
+ stp \reg1, \reg2, [\ptr], \val
6957 .endm
7058
71
-ENTRY(__memcpy)
72
-WEAK(memcpy)
59
+SYM_FUNC_START_ALIAS(__memcpy)
60
+SYM_FUNC_START_WEAK_PI(memcpy)
7361 #include "copy_template.S"
7462 ret
75
-ENDPIPROC(memcpy)
76
-ENDPROC(__memcpy)
63
+SYM_FUNC_END_PI(memcpy)
64
+EXPORT_SYMBOL(memcpy)
65
+SYM_FUNC_END_ALIAS(__memcpy)
66
+EXPORT_SYMBOL(__memcpy)