150acfb2bSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 25d8544e2SPalmer Dabbelt /* 35d8544e2SPalmer Dabbelt * Copyright (C) 2013 Regents of the University of California 45d8544e2SPalmer Dabbelt */ 55d8544e2SPalmer Dabbelt 65d8544e2SPalmer Dabbelt #ifndef _ASM_RISCV_STRING_H 75d8544e2SPalmer Dabbelt #define _ASM_RISCV_STRING_H 85d8544e2SPalmer Dabbelt 95d8544e2SPalmer Dabbelt #include <linux/types.h> 105d8544e2SPalmer Dabbelt #include <linux/linkage.h> 115d8544e2SPalmer Dabbelt 125d8544e2SPalmer Dabbelt #define __HAVE_ARCH_MEMSET 135d8544e2SPalmer Dabbelt extern asmlinkage void *memset(void *, int, size_t); 148ad8b727SNick Hu extern asmlinkage void *__memset(void *, int, size_t); 155d8544e2SPalmer Dabbelt #define __HAVE_ARCH_MEMCPY 165d8544e2SPalmer Dabbelt extern asmlinkage void *memcpy(void *, const void *, size_t); 178ad8b727SNick Hu extern asmlinkage void *__memcpy(void *, const void *, size_t); 1804091d6cSNylon Chen #define __HAVE_ARCH_MEMMOVE 1904091d6cSNylon Chen extern asmlinkage void *memmove(void *, const void *, size_t); 2004091d6cSNylon Chen extern asmlinkage void *__memmove(void *, const void *, size_t); 21*56e0790cSHeiko Stuebner 22*56e0790cSHeiko Stuebner #define __HAVE_ARCH_STRCMP 23*56e0790cSHeiko Stuebner extern asmlinkage int strcmp(const char *cs, const char *ct); 24*56e0790cSHeiko Stuebner 25*56e0790cSHeiko Stuebner #define __HAVE_ARCH_STRLEN 26*56e0790cSHeiko Stuebner extern asmlinkage __kernel_size_t strlen(const char *); 27*56e0790cSHeiko Stuebner 28*56e0790cSHeiko Stuebner #define __HAVE_ARCH_STRNCMP 29*56e0790cSHeiko Stuebner extern asmlinkage int strncmp(const char *cs, const char *ct, size_t count); 30*56e0790cSHeiko Stuebner 318ad8b727SNick Hu /* For those files which don't want to check by kasan. */ 328ad8b727SNick Hu #if defined(CONFIG_KASAN) && !defined(__SANITIZE_ADDRESS__) 338ad8b727SNick Hu #define memcpy(dst, src, len) __memcpy(dst, src, len) 348ad8b727SNick Hu #define memset(s, c, n) __memset(s, c, n) 3504091d6cSNylon Chen #define memmove(dst, src, len) __memmove(dst, src, len) 3695301414SKefeng Wang 3795301414SKefeng Wang #ifndef __NO_FORTIFY 3895301414SKefeng Wang #define __NO_FORTIFY /* FORTIFY_SOURCE uses __builtin_memcpy, etc. */ 3995301414SKefeng Wang #endif 4095301414SKefeng Wang 418ad8b727SNick Hu #endif 425d8544e2SPalmer Dabbelt #endif /* _ASM_RISCV_STRING_H */ 43