| .. | .. |
|---|
| 12 | 12 | */ |
|---|
| 13 | 13 | |
|---|
| 14 | 14 | #include <linux/linkage.h> |
|---|
| 15 | | -#include <variant/core.h> |
|---|
| 16 | 15 | #include <asm/asmmacro.h> |
|---|
| 16 | +#include <asm/core.h> |
|---|
| 17 | 17 | |
|---|
| 18 | 18 | /* |
|---|
| 19 | 19 | * void *memset(void *dst, int c, size_t length) |
|---|
| .. | .. |
|---|
| 34 | 34 | ENTRY(__memset) |
|---|
| 35 | 35 | WEAK(memset) |
|---|
| 36 | 36 | |
|---|
| 37 | | - entry sp, 16 # minimal stack frame |
|---|
| 37 | + abi_entry_default |
|---|
| 38 | 38 | # a2/ dst, a3/ c, a4/ length |
|---|
| 39 | 39 | extui a3, a3, 0, 8 # mask to just 8 bits |
|---|
| 40 | 40 | slli a7, a3, 8 # duplicate character in all bytes of word |
|---|
| .. | .. |
|---|
| 48 | 48 | srli a7, a4, 4 # number of loop iterations with 16B |
|---|
| 49 | 49 | # per iteration |
|---|
| 50 | 50 | bnez a4, .Laligned |
|---|
| 51 | | - retw |
|---|
| 51 | + abi_ret_default |
|---|
| 52 | 52 | |
|---|
| 53 | 53 | /* |
|---|
| 54 | 54 | * Destination is word-aligned. |
|---|
| .. | .. |
|---|
| 95 | 95 | EX(10f) s8i a3, a5, 0 |
|---|
| 96 | 96 | .L5: |
|---|
| 97 | 97 | .Lret1: |
|---|
| 98 | | - retw |
|---|
| 98 | + abi_ret_default |
|---|
| 99 | 99 | |
|---|
| 100 | 100 | /* |
|---|
| 101 | 101 | * Destination is unaligned |
|---|
| .. | .. |
|---|
| 139 | 139 | blt a5, a6, .Lbyteloop |
|---|
| 140 | 140 | #endif /* !XCHAL_HAVE_LOOPS */ |
|---|
| 141 | 141 | .Lbytesetdone: |
|---|
| 142 | | - retw |
|---|
| 142 | + abi_ret_default |
|---|
| 143 | 143 | |
|---|
| 144 | 144 | ENDPROC(__memset) |
|---|
| 145 | 145 | |
|---|
| .. | .. |
|---|
| 150 | 150 | |
|---|
| 151 | 151 | 10: |
|---|
| 152 | 152 | movi a2, 0 |
|---|
| 153 | | - retw |
|---|
| 153 | + abi_ret_default |
|---|