| .. | .. |
|---|
| 54 | 54 | */ |
|---|
| 55 | 55 | |
|---|
| 56 | 56 | #include <linux/linkage.h> |
|---|
| 57 | | -#include <variant/core.h> |
|---|
| 58 | 57 | #include <asm/asmmacro.h> |
|---|
| 58 | +#include <asm/core.h> |
|---|
| 59 | 59 | |
|---|
| 60 | 60 | .text |
|---|
| 61 | 61 | ENTRY(__xtensa_copy_user) |
|---|
| 62 | 62 | |
|---|
| 63 | | - entry sp, 16 # minimal stack frame |
|---|
| 63 | + abi_entry_default |
|---|
| 64 | 64 | # a2/ dst, a3/ src, a4/ len |
|---|
| 65 | 65 | mov a5, a2 # copy dst so that a2 is return value |
|---|
| 66 | 66 | mov a11, a4 # preserve original len for error case |
|---|
| .. | .. |
|---|
| 75 | 75 | __ssa8 a3 # set shift amount from byte offset |
|---|
| 76 | 76 | bnez a4, .Lsrcunaligned |
|---|
| 77 | 77 | movi a2, 0 # return success for len==0 |
|---|
| 78 | | - retw |
|---|
| 78 | + abi_ret_default |
|---|
| 79 | 79 | |
|---|
| 80 | 80 | /* |
|---|
| 81 | 81 | * Destination is unaligned |
|---|
| .. | .. |
|---|
| 127 | 127 | #endif /* !XCHAL_HAVE_LOOPS */ |
|---|
| 128 | 128 | .Lbytecopydone: |
|---|
| 129 | 129 | movi a2, 0 # return success for len bytes copied |
|---|
| 130 | | - retw |
|---|
| 130 | + abi_ret_default |
|---|
| 131 | 131 | |
|---|
| 132 | 132 | /* |
|---|
| 133 | 133 | * Destination and source are word-aligned. |
|---|
| .. | .. |
|---|
| 187 | 187 | EX(10f) s8i a6, a5, 0 |
|---|
| 188 | 188 | .L5: |
|---|
| 189 | 189 | movi a2, 0 # return success for len bytes copied |
|---|
| 190 | | - retw |
|---|
| 190 | + abi_ret_default |
|---|
| 191 | 191 | |
|---|
| 192 | 192 | /* |
|---|
| 193 | 193 | * Destination is aligned, Source is unaligned |
|---|
| .. | .. |
|---|
| 264 | 264 | EX(10f) s8i a6, a5, 0 |
|---|
| 265 | 265 | .L15: |
|---|
| 266 | 266 | movi a2, 0 # return success for len bytes copied |
|---|
| 267 | | - retw |
|---|
| 267 | + abi_ret_default |
|---|
| 268 | 268 | |
|---|
| 269 | 269 | ENDPROC(__xtensa_copy_user) |
|---|
| 270 | 270 | |
|---|
| .. | .. |
|---|
| 281 | 281 | 10: |
|---|
| 282 | 282 | sub a2, a5, a2 /* a2 <-- bytes copied */ |
|---|
| 283 | 283 | sub a2, a11, a2 /* a2 <-- bytes not copied */ |
|---|
| 284 | | - retw |
|---|
| 284 | + abi_ret_default |
|---|