From 5456c26c2f00715c172791cb9bcc766afac1982b Mon Sep 17 00:00:00 2001 From: Olivier Martin Date: Mon, 24 Mar 2014 15:30:48 +0000 Subject: [PATCH] ArmPkg/CompilerIntrinsicsLib: Added memset() to AArch64 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15384 6f19259b-4bc3-4df7-8a09-765794883524 --- .../CompilerIntrinsicsLib/AArch64/memset.c | 25 +++++++++++++++++++ .../CompilerIntrinsicsLib.inf | 1 + 2 files changed, 26 insertions(+) create mode 100644 ArmPkg/Library/CompilerIntrinsicsLib/AArch64/memset.c diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/AArch64/memset.c b/ArmPkg/Library/CompilerIntrinsicsLib/AArch64/memset.c new file mode 100644 index 0000000000..069c932a67 --- /dev/null +++ b/ArmPkg/Library/CompilerIntrinsicsLib/AArch64/memset.c @@ -0,0 +1,25 @@ +/** @file + + Copyright (c) 2014, ARM Ltd. All rights reserved.
+ + This program and the accompanying materials + are licensed and made available under the terms and conditions of the BSD License + which accompanies this distribution. The full text of the license may be found at + http://opensource.org/licenses/bsd-license.php + + THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#include + +void *memset(void *Destination, int Value, int Count) +{ + CHAR8 *Ptr = Destination; + + while (Count--) + *Ptr++ = Value; + + return Destination; +} diff --git a/ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf b/ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf index 3e95105cd5..d230da2969 100644 --- a/ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf +++ b/ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf @@ -24,6 +24,7 @@ [Sources.AARCH64] AArch64/memcpy.S | GCC + AArch64/memset.c [Sources.ARM] Arm/mullu.asm | RVCT