| .. | .. |
|---|
| 13 | 13 | |
|---|
| 14 | 14 | #include <linux/errno.h> |
|---|
| 15 | 15 | #include <linux/linkage.h> |
|---|
| 16 | | -#include <variant/core.h> |
|---|
| 17 | 16 | #include <asm/asmmacro.h> |
|---|
| 17 | +#include <asm/core.h> |
|---|
| 18 | 18 | |
|---|
| 19 | 19 | /* |
|---|
| 20 | 20 | * char *__strncpy_user(char *dst, const char *src, size_t len) |
|---|
| .. | .. |
|---|
| 50 | 50 | .text |
|---|
| 51 | 51 | ENTRY(__strncpy_user) |
|---|
| 52 | 52 | |
|---|
| 53 | | - entry sp, 16 # minimal stack frame |
|---|
| 53 | + abi_entry_default |
|---|
| 54 | 54 | # a2/ dst, a3/ src, a4/ len |
|---|
| 55 | 55 | mov a11, a2 # leave dst in return value register |
|---|
| 56 | 56 | beqz a4, .Lret # if len is zero |
|---|
| .. | .. |
|---|
| 93 | 93 | bnez a4, .Lsrcaligned # if len is nonzero |
|---|
| 94 | 94 | .Lret: |
|---|
| 95 | 95 | sub a2, a11, a2 # compute strlen |
|---|
| 96 | | - retw |
|---|
| 96 | + abi_ret_default |
|---|
| 97 | 97 | |
|---|
| 98 | 98 | /* |
|---|
| 99 | 99 | * dst is word-aligned, src is word-aligned |
|---|
| .. | .. |
|---|
| 148 | 148 | .Lz3: # byte 3 is zero |
|---|
| 149 | 149 | addi a11, a11, 3 # advance dst pointer |
|---|
| 150 | 150 | sub a2, a11, a2 # compute strlen |
|---|
| 151 | | - retw |
|---|
| 151 | + abi_ret_default |
|---|
| 152 | 152 | .Lz0: # byte 0 is zero |
|---|
| 153 | 153 | #ifdef __XTENSA_EB__ |
|---|
| 154 | 154 | movi a9, 0 |
|---|
| 155 | 155 | #endif /* __XTENSA_EB__ */ |
|---|
| 156 | 156 | EX(10f) s8i a9, a11, 0 |
|---|
| 157 | 157 | sub a2, a11, a2 # compute strlen |
|---|
| 158 | | - retw |
|---|
| 158 | + abi_ret_default |
|---|
| 159 | 159 | .Lz1: # byte 1 is zero |
|---|
| 160 | 160 | #ifdef __XTENSA_EB__ |
|---|
| 161 | 161 | extui a9, a9, 16, 16 |
|---|
| .. | .. |
|---|
| 163 | 163 | EX(10f) s16i a9, a11, 0 |
|---|
| 164 | 164 | addi a11, a11, 1 # advance dst pointer |
|---|
| 165 | 165 | sub a2, a11, a2 # compute strlen |
|---|
| 166 | | - retw |
|---|
| 166 | + abi_ret_default |
|---|
| 167 | 167 | .Lz2: # byte 2 is zero |
|---|
| 168 | 168 | #ifdef __XTENSA_EB__ |
|---|
| 169 | 169 | extui a9, a9, 16, 16 |
|---|
| .. | .. |
|---|
| 173 | 173 | EX(10f) s8i a9, a11, 2 |
|---|
| 174 | 174 | addi a11, a11, 2 # advance dst pointer |
|---|
| 175 | 175 | sub a2, a11, a2 # compute strlen |
|---|
| 176 | | - retw |
|---|
| 176 | + abi_ret_default |
|---|
| 177 | 177 | |
|---|
| 178 | 178 | .align 4 # 1 mod 4 alignment for LOOPNEZ |
|---|
| 179 | 179 | .byte 0 # (0 mod 4 alignment for LBEG) |
|---|
| .. | .. |
|---|
| 199 | 199 | |
|---|
| 200 | 200 | .Lunalignedend: |
|---|
| 201 | 201 | sub a2, a11, a2 # compute strlen |
|---|
| 202 | | - retw |
|---|
| 202 | + abi_ret_default |
|---|
| 203 | 203 | |
|---|
| 204 | 204 | ENDPROC(__strncpy_user) |
|---|
| 205 | 205 | |
|---|
| .. | .. |
|---|
| 214 | 214 | 10: |
|---|
| 215 | 215 | 11: |
|---|
| 216 | 216 | movi a2, -EFAULT |
|---|
| 217 | | - retw |
|---|
| 217 | + abi_ret_default |
|---|