]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPkg/Library/CompilerIntrinsicsLib/memcpy.c
ArmPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / ArmPkg / Library / CompilerIntrinsicsLib / memcpy.c
CommitLineData
a0cf6b8d
AB
1//------------------------------------------------------------------------------\r
2//\r
3// Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>\r
4//\r
4059386c 5// SPDX-License-Identifier: BSD-2-Clause-Patent\r
a0cf6b8d
AB
6//\r
7//------------------------------------------------------------------------------\r
8\r
9typedef __SIZE_TYPE__ size_t;\r
10\r
a683ceca 11static void __memcpy(void *dest, const void *src, size_t n)\r
a0cf6b8d
AB
12{\r
13 unsigned char *d = dest;\r
14 unsigned char const *s = src;\r
15\r
16 while (n--)\r
17 *d++ = *s++;\r
a683ceca 18}\r
a0cf6b8d 19\r
a683ceca
MZ
20void *memcpy(void *dest, const void *src, size_t n)\r
21{\r
22 __memcpy(dest, src, n);\r
a0cf6b8d
AB
23 return dest;\r
24}\r
25\r
a0cf6b8d
AB
26#ifdef __arm__\r
27\r
28__attribute__((__alias__("__memcpy")))\r
29void __aeabi_memcpy(void *dest, const void *src, size_t n);\r
30\r
31__attribute__((__alias__("__memcpy")))\r
32void __aeabi_memcpy4(void *dest, const void *src, size_t n);\r
33\r
34__attribute__((__alias__("__memcpy")))\r
35void __aeabi_memcpy8(void *dest, const void *src, size_t n);\r
36\r
37#endif\r