aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/include
diff options
context:
space:
mode:
authorCatalin Marinas <catalin.marinas@arm.com>2013-03-21 12:16:43 -0400
committerCatalin Marinas <catalin.marinas@arm.com>2013-03-21 13:39:29 -0400
commit4a8992271c843cb5bcd3321bf6a02eb251280b1d (patch)
tree100bdf14109f0d6b6ac559db6f25a337daa4280c /arch/arm64/include
parent792072066d30372772137be9ee2f4d72d77329f9 (diff)
arm64: klib: Optimised memory functions
This patch introduces AArch64-specific memory functions (memcpy, memmove, memchr, memset). These functions are not optimised for any CPU implementation but can be used as a starting point once hardware is available. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/include')
-rw-r--r--arch/arm64/include/asm/Kbuild1
-rw-r--r--arch/arm64/include/asm/string.h31
2 files changed, 31 insertions, 1 deletions
diff --git a/arch/arm64/include/asm/Kbuild b/arch/arm64/include/asm/Kbuild
index e5fe4f99fe10..a13a4a493d56 100644
--- a/arch/arm64/include/asm/Kbuild
+++ b/arch/arm64/include/asm/Kbuild
@@ -39,7 +39,6 @@ generic-y += shmbuf.h
39generic-y += sizes.h 39generic-y += sizes.h
40generic-y += socket.h 40generic-y += socket.h
41generic-y += sockios.h 41generic-y += sockios.h
42generic-y += string.h
43generic-y += switch_to.h 42generic-y += switch_to.h
44generic-y += swab.h 43generic-y += swab.h
45generic-y += termbits.h 44generic-y += termbits.h
diff --git a/arch/arm64/include/asm/string.h b/arch/arm64/include/asm/string.h
new file mode 100644
index 000000000000..be8a644f306a
--- /dev/null
+++ b/arch/arm64/include/asm/string.h
@@ -0,0 +1,31 @@
1/*
2 * Copyright (C) 2013 ARM Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#ifndef __ASM_STRING_H
17#define __ASM_STRING_H
18
19#define __HAVE_ARCH_MEMCPY
20extern void *memcpy(void *, const void *, __kernel_size_t);
21
22#define __HAVE_ARCH_MEMMOVE
23extern void *memmove(void *, const void *, __kernel_size_t);
24
25#define __HAVE_ARCH_MEMCHR
26extern void *memchr(const void *, int, __kernel_size_t);
27
28#define __HAVE_ARCH_MEMSET
29extern void *memset(void *, int, __kernel_size_t);
30
31#endif