blob: 86f34be14ce0065671587ea5ca9558c5d3b8096d [file] [log] [blame]
Sam Ravnborga439fe52008-07-27 23:00:59 +02001#ifndef ___ASM_SPARC_STRING_H
2#define ___ASM_SPARC_STRING_H
3#if defined(__sparc__) && defined(__arch64__)
4#include <asm/string_64.h>
5#else
6#include <asm/string_32.h>
7#endif
Al Viro70a6fcf2016-01-17 13:09:11 -05008
9/* First the mem*() things. */
10#define __HAVE_ARCH_MEMMOVE
11void *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
37int memcmp(const void *,const void *,__kernel_size_t);
38
39#define __HAVE_ARCH_STRNCMP
40int strncmp(const char *, const char *, __kernel_size_t);
41
Sam Ravnborga439fe52008-07-27 23:00:59 +020042#endif