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