Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
f5e706ad SR |
2 | #ifndef ___ASM_SPARC_STRING_H |
3 | #define ___ASM_SPARC_STRING_H | |
4 | #if defined(__sparc__) && defined(__arch64__) | |
a439fe51 | 5 | #include <asm/string_64.h> |
f5e706ad | 6 | #else |
a439fe51 | 7 | #include <asm/string_32.h> |
f5e706ad | 8 | #endif |
70a6fcf3 AV |
9 | |
10 | /* First the mem*() things. */ | |
11 | #define __HAVE_ARCH_MEMMOVE | |
12 | void *memmove(void *, const void *, __kernel_size_t); | |
13 | ||
14 | #define __HAVE_ARCH_MEMCPY | |
15 | #define memcpy(t, f, n) __builtin_memcpy(t, f, n) | |
16 | ||
17 | #define __HAVE_ARCH_MEMSET | |
18 | #define memset(s, c, count) __builtin_memset(s, c, count) | |
19 | ||
20 | #define __HAVE_ARCH_MEMSCAN | |
21 | ||
22 | #define memscan(__arg0, __char, __arg2) \ | |
23 | ({ \ | |
24 | void *__memscan_zero(void *, size_t); \ | |
25 | void *__memscan_generic(void *, int, size_t); \ | |
26 | void *__retval, *__addr = (__arg0); \ | |
27 | size_t __size = (__arg2); \ | |
28 | \ | |
29 | if(__builtin_constant_p(__char) && !(__char)) \ | |
30 | __retval = __memscan_zero(__addr, __size); \ | |
31 | else \ | |
32 | __retval = __memscan_generic(__addr, (__char), __size); \ | |
33 | \ | |
34 | __retval; \ | |
35 | }) | |
36 | ||
37 | #define __HAVE_ARCH_MEMCMP | |
38 | int memcmp(const void *,const void *,__kernel_size_t); | |
39 | ||
40 | #define __HAVE_ARCH_STRNCMP | |
41 | int strncmp(const char *, const char *, __kernel_size_t); | |
42 | ||
f5e706ad | 43 | #endif |