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