diff options
Diffstat (limited to 'arch/sparc/include/asm/string.h')
-rw-r--r-- | arch/sparc/include/asm/string.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/arch/sparc/include/asm/string.h b/arch/sparc/include/asm/string.h index 98b72a0c8e6e..86f34be14ce0 100644 --- a/arch/sparc/include/asm/string.h +++ b/arch/sparc/include/asm/string.h | |||
@@ -5,4 +5,38 @@ | |||
5 | #else | 5 | #else |
6 | #include <asm/string_32.h> | 6 | #include <asm/string_32.h> |
7 | #endif | 7 | #endif |
8 | |||
9 | /* First the mem*() things. */ | ||
10 | #define __HAVE_ARCH_MEMMOVE | ||
11 | void *memmove(void *, const void *, __kernel_size_t); | ||
12 | |||
13 | #define __HAVE_ARCH_MEMCPY | ||
14 | #define memcpy(t, f, n) __builtin_memcpy(t, f, n) | ||
15 | |||
16 | #define __HAVE_ARCH_MEMSET | ||
17 | #define memset(s, c, count) __builtin_memset(s, c, count) | ||
18 | |||
19 | #define __HAVE_ARCH_MEMSCAN | ||
20 | |||
21 | #define memscan(__arg0, __char, __arg2) \ | ||
22 | ({ \ | ||
23 | void *__memscan_zero(void *, size_t); \ | ||
24 | void *__memscan_generic(void *, int, size_t); \ | ||
25 | void *__retval, *__addr = (__arg0); \ | ||
26 | size_t __size = (__arg2); \ | ||
27 | \ | ||
28 | if(__builtin_constant_p(__char) && !(__char)) \ | ||
29 | __retval = __memscan_zero(__addr, __size); \ | ||
30 | else \ | ||
31 | __retval = __memscan_generic(__addr, (__char), __size); \ | ||
32 | \ | ||
33 | __retval; \ | ||
34 | }) | ||
35 | |||
36 | #define __HAVE_ARCH_MEMCMP | ||
37 | int memcmp(const void *,const void *,__kernel_size_t); | ||
38 | |||
39 | #define __HAVE_ARCH_STRNCMP | ||
40 | int strncmp(const char *, const char *, __kernel_size_t); | ||
41 | |||
8 | #endif | 42 | #endif |