1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2a439fe51SSam Ravnborg #ifndef ___ASM_SPARC_STRING_H 3a439fe51SSam Ravnborg #define ___ASM_SPARC_STRING_H 4a439fe51SSam Ravnborg #if defined(__sparc__) && defined(__arch64__) 5a439fe51SSam Ravnborg #include <asm/string_64.h> 6a439fe51SSam Ravnborg #else 7a439fe51SSam Ravnborg #include <asm/string_32.h> 8a439fe51SSam Ravnborg #endif 970a6fcf3SAl Viro 1070a6fcf3SAl Viro /* First the mem*() things. */ 1170a6fcf3SAl Viro #define __HAVE_ARCH_MEMMOVE 1270a6fcf3SAl Viro void *memmove(void *, const void *, __kernel_size_t); 1370a6fcf3SAl Viro 1470a6fcf3SAl Viro #define __HAVE_ARCH_MEMCPY 1570a6fcf3SAl Viro #define memcpy(t, f, n) __builtin_memcpy(t, f, n) 1670a6fcf3SAl Viro 1770a6fcf3SAl Viro #define __HAVE_ARCH_MEMSET 1870a6fcf3SAl Viro #define memset(s, c, count) __builtin_memset(s, c, count) 1970a6fcf3SAl Viro 2070a6fcf3SAl Viro #define __HAVE_ARCH_MEMSCAN 2170a6fcf3SAl Viro 2270a6fcf3SAl Viro #define memscan(__arg0, __char, __arg2) \ 2370a6fcf3SAl Viro ({ \ 2470a6fcf3SAl Viro void *__memscan_zero(void *, size_t); \ 2570a6fcf3SAl Viro void *__memscan_generic(void *, int, size_t); \ 2670a6fcf3SAl Viro void *__retval, *__addr = (__arg0); \ 2770a6fcf3SAl Viro size_t __size = (__arg2); \ 2870a6fcf3SAl Viro \ 2970a6fcf3SAl Viro if(__builtin_constant_p(__char) && !(__char)) \ 3070a6fcf3SAl Viro __retval = __memscan_zero(__addr, __size); \ 3170a6fcf3SAl Viro else \ 3270a6fcf3SAl Viro __retval = __memscan_generic(__addr, (__char), __size); \ 3370a6fcf3SAl Viro \ 3470a6fcf3SAl Viro __retval; \ 3570a6fcf3SAl Viro }) 3670a6fcf3SAl Viro 3770a6fcf3SAl Viro #define __HAVE_ARCH_MEMCMP 3870a6fcf3SAl Viro int memcmp(const void *,const void *,__kernel_size_t); 3970a6fcf3SAl Viro 40*51e40641SMasahiro Yamada /* Now the str*() stuff... */ 41*51e40641SMasahiro Yamada #define __HAVE_ARCH_STRLEN 42*51e40641SMasahiro Yamada __kernel_size_t strlen(const char *); 43*51e40641SMasahiro Yamada 4470a6fcf3SAl Viro #define __HAVE_ARCH_STRNCMP 4570a6fcf3SAl Viro int strncmp(const char *, const char *, __kernel_size_t); 4670a6fcf3SAl Viro 47a439fe51SSam Ravnborg #endif 48