+++ /dev/null
-/** @file\r
-\r
- Provide intrinsics within Oniguruma\r
-\r
- (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>\r
-\r
- SPDX-License-Identifier: BSD-2-Clause-Patent\r
-**/\r
-\r
-#include <Library/BaseMemoryLib.h>\r
-\r
-//\r
-// From CryptoPkg/IntrinsicLib\r
-//\r
-\r
-/* Copies bytes between buffers */\r
-#pragma function(memcpy)\r
-void * memcpy (void *dest, const void *src, unsigned int count)\r
-{\r
- return CopyMem (dest, src, (UINTN)count);\r
-}\r
-\r
-/* Sets buffers to a specified character */\r
-#pragma function(memset)\r
-void * memset (void *dest, char ch, unsigned int count)\r
-{\r
- //\r
- // NOTE: Here we use one base implementation for memset, instead of the direct\r
- // optimized SetMem() wrapper. Because the IntrinsicLib has to be built\r
- // without whole program optimization option, and there will be some\r
- // potential register usage errors when calling other optimized codes.\r
- //\r
-\r
- //\r
- // Declare the local variables that actually move the data elements as\r
- // volatile to prevent the optimizer from replacing this function with\r
- // the intrinsic memset()\r
- //\r
- volatile UINT8 *Pointer;\r
-\r
- Pointer = (UINT8 *)dest;\r
- while (count-- != 0) {\r
- *(Pointer++) = ch;\r
- }\r
-\r
- return dest;\r
-}\r