forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/arch/xtensa/lib/strnlen_user.S
....@@ -12,8 +12,8 @@
1212 */
1313
1414 #include <linux/linkage.h>
15
-#include <variant/core.h>
1615 #include <asm/asmmacro.h>
16
+#include <asm/core.h>
1717
1818 /*
1919 * size_t __strnlen_user(const char *s, size_t len)
....@@ -45,7 +45,7 @@
4545 .text
4646 ENTRY(__strnlen_user)
4747
48
- entry sp, 16 # minimal stack frame
48
+ abi_entry_default
4949 # a2/ s, a3/ len
5050 addi a4, a2, -4 # because we overincrement at the end;
5151 # we compensate with load offsets of 4
....@@ -96,7 +96,7 @@
9696 addi a4, a4, 1 # advance string pointer
9797 .L101:
9898 sub a2, a4, a2 # compute length
99
- retw
99
+ abi_ret_default
100100
101101 # NOTE that in several places below, we point to the byte just after
102102 # the zero byte in order to include the NULL terminator in the count.
....@@ -106,15 +106,15 @@
106106 .Lz0: # byte 0 is zero
107107 addi a4, a4, 1 # point just beyond zero byte
108108 sub a2, a4, a2 # subtract to get length
109
- retw
109
+ abi_ret_default
110110 .Lz1: # byte 1 is zero
111111 addi a4, a4, 1+1 # point just beyond zero byte
112112 sub a2, a4, a2 # subtract to get length
113
- retw
113
+ abi_ret_default
114114 .Lz2: # byte 2 is zero
115115 addi a4, a4, 2+1 # point just beyond zero byte
116116 sub a2, a4, a2 # subtract to get length
117
- retw
117
+ abi_ret_default
118118
119119 .L1mod2: # address is odd
120120 EX(10f) l8ui a9, a4, 4 # get byte 0
....@@ -130,7 +130,7 @@
130130 # byte 3 is zero
131131 addi a4, a4, 3+1 # point just beyond zero byte
132132 sub a2, a4, a2 # subtract to get length
133
- retw
133
+ abi_ret_default
134134
135135 ENDPROC(__strnlen_user)
136136
....@@ -138,4 +138,4 @@
138138 .align 4
139139 10:
140140 movi a2, 0
141
- retw
141
+ abi_ret_default