]> xenbits.xensource.com Git - people/aperard/ovmf.git/commitdiff
Refactor SetMemWrapper to reduce binary size
authorAshraf Ali <ashraf.ali.s@intel.com>
Fri, 6 Sep 2024 15:12:42 +0000 (20:42 +0530)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Wed, 11 Sep 2024 21:50:20 +0000 (21:50 +0000)
Moved SetMemN API to a separate file to eliminate unnecessary inclusion
of InternalMemSetMem64 and InternalMemSetMem32 APIs in driver binary.

When the compiler linking the Object files it may not remove all the
unused from NASM OBJs. This change is to reorganize the C files to
minimize the impact of the NASM behavior resulting is code size
reduction.

Signed-off-by: Ashraf Ali <ashraf.ali.s@intel.com>
21 files changed:
MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
MdePkg/Library/BaseMemoryLib/SetMemNWrapper.c [new file with mode: 0644]
MdePkg/Library/BaseMemoryLib/SetMemWrapper.c
MdePkg/Library/BaseMemoryLibMmx/BaseMemoryLibMmx.inf
MdePkg/Library/BaseMemoryLibMmx/SetMemNWrapper.c [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibMmx/SetMemWrapper.c
MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
MdePkg/Library/BaseMemoryLibOptDxe/SetMemNWrapper.c [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptDxe/SetMemWrapper.c
MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf
MdePkg/Library/BaseMemoryLibOptPei/SetMemNWrapper.c [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibOptPei/SetMemWrapper.c
MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
MdePkg/Library/BaseMemoryLibRepStr/SetMemNWrapper.c [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibRepStr/SetMemWrapper.c
MdePkg/Library/BaseMemoryLibSse2/BaseMemoryLibSse2.inf
MdePkg/Library/BaseMemoryLibSse2/SetMemNWrapper.c [new file with mode: 0644]
MdePkg/Library/BaseMemoryLibSse2/SetMemWrapper.c
MdePkg/Library/UefiMemoryLib/SetMemNWrapper.c [new file with mode: 0644]
MdePkg/Library/UefiMemoryLib/SetMemWrapper.c
MdePkg/Library/UefiMemoryLib/UefiMemoryLib.inf

index e84a2c7ee5da04bab314e56984c9b2c8b73691ed..eac88cf713f88f0b730c61c32c844ed7b30a0e59 100644 (file)
@@ -32,6 +32,7 @@
   ScanMem8Wrapper.c\r
   ZeroMemWrapper.c\r
   CompareMemWrapper.c\r
+  SetMemNWrapper.c\r
   SetMem64Wrapper.c\r
   SetMem32Wrapper.c\r
   SetMem16Wrapper.c\r
diff --git a/MdePkg/Library/BaseMemoryLib/SetMemNWrapper.c b/MdePkg/Library/BaseMemoryLib/SetMemNWrapper.c
new file mode 100644 (file)
index 0000000..8a7cfca
--- /dev/null
@@ -0,0 +1,54 @@
+/** @file\r
+  SetMemN() implementation.\r
+\r
+  The following BaseMemoryLib instances contain the same copy of this file:\r
+\r
+    BaseMemoryLib\r
+    BaseMemoryLibMmx\r
+    BaseMemoryLibSse2\r
+    BaseMemoryLibRepStr\r
+    BaseMemoryLibOptDxe\r
+    BaseMemoryLibOptPei\r
+    PeiMemoryLib\r
+    UefiMemoryLib\r
+\r
+  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#include "MemLibInternals.h"\r
+\r
+/**\r
+  Fills a target buffer with a value that is size UINTN, and returns the target buffer.\r
+\r
+  This function fills Length bytes of Buffer with the UINTN sized value specified by\r
+  Value, and returns Buffer. Value is repeated every sizeof(UINTN) bytes for Length\r
+  bytes of Buffer.\r
+\r
+  If Length > 0 and Buffer is NULL, then ASSERT().\r
+  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
+  If Buffer is not aligned on a UINTN boundary, then ASSERT().\r
+  If Length is not aligned on a UINTN boundary, then ASSERT().\r
+\r
+  @param  Buffer  The pointer to the target buffer to fill.\r
+  @param  Length  The number of bytes in Buffer to fill.\r
+  @param  Value   The value with which to fill Length bytes of Buffer.\r
+\r
+  @return Buffer.\r
+\r
+**/\r
+VOID *\r
+EFIAPI\r
+SetMemN (\r
+  OUT VOID  *Buffer,\r
+  IN UINTN  Length,\r
+  IN UINTN  Value\r
+  )\r
+{\r
+  if (sizeof (UINTN) == sizeof (UINT64)) {\r
+    return SetMem64 (Buffer, Length, (UINT64)Value);\r
+  } else {\r
+    return SetMem32 (Buffer, Length, (UINT32)Value);\r
+  }\r
+}\r
index 39ec8cb0db2e838d71b652884fa123d27e3d78de..31f8bd4957859e6ba28a3679bcba03d051639403 100644 (file)
@@ -1,5 +1,5 @@
 /** @file\r
-  SetMem() and SetMemN() implementation.\r
+  SetMem() implementation.\r
 \r
   The following BaseMemoryLib instances contain the same copy of this file:\r
 \r
@@ -49,37 +49,3 @@ SetMem (
 \r
   return InternalMemSetMem (Buffer, Length, Value);\r
 }\r
-\r
-/**\r
-  Fills a target buffer with a value that is size UINTN, and returns the target buffer.\r
-\r
-  This function fills Length bytes of Buffer with the UINTN sized value specified by\r
-  Value, and returns Buffer. Value is repeated every sizeof(UINTN) bytes for Length\r
-  bytes of Buffer.\r
-\r
-  If Length > 0 and Buffer is NULL, then ASSERT().\r
-  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
-  If Buffer is not aligned on a UINTN boundary, then ASSERT().\r
-  If Length is not aligned on a UINTN boundary, then ASSERT().\r
-\r
-  @param  Buffer  The pointer to the target buffer to fill.\r
-  @param  Length  The number of bytes in Buffer to fill.\r
-  @param  Value   The value with which to fill Length bytes of Buffer.\r
-\r
-  @return Buffer.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-SetMemN (\r
-  OUT VOID  *Buffer,\r
-  IN UINTN  Length,\r
-  IN UINTN  Value\r
-  )\r
-{\r
-  if (sizeof (UINTN) == sizeof (UINT64)) {\r
-    return SetMem64 (Buffer, Length, (UINT64)Value);\r
-  } else {\r
-    return SetMem32 (Buffer, Length, (UINT32)Value);\r
-  }\r
-}\r
index 18fc5875e24a721c3630d6cd184a94253915b811..2f37c69d6e328abb4b429182fd4994377fb88b1d 100644 (file)
@@ -36,6 +36,7 @@
   ScanMem8Wrapper.c\r
   ZeroMemWrapper.c\r
   CompareMemWrapper.c\r
+  SetMemNWrapper.c\r
   SetMem64Wrapper.c\r
   SetMem32Wrapper.c\r
   SetMem16Wrapper.c\r
diff --git a/MdePkg/Library/BaseMemoryLibMmx/SetMemNWrapper.c b/MdePkg/Library/BaseMemoryLibMmx/SetMemNWrapper.c
new file mode 100644 (file)
index 0000000..8a7cfca
--- /dev/null
@@ -0,0 +1,54 @@
+/** @file\r
+  SetMemN() implementation.\r
+\r
+  The following BaseMemoryLib instances contain the same copy of this file:\r
+\r
+    BaseMemoryLib\r
+    BaseMemoryLibMmx\r
+    BaseMemoryLibSse2\r
+    BaseMemoryLibRepStr\r
+    BaseMemoryLibOptDxe\r
+    BaseMemoryLibOptPei\r
+    PeiMemoryLib\r
+    UefiMemoryLib\r
+\r
+  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#include "MemLibInternals.h"\r
+\r
+/**\r
+  Fills a target buffer with a value that is size UINTN, and returns the target buffer.\r
+\r
+  This function fills Length bytes of Buffer with the UINTN sized value specified by\r
+  Value, and returns Buffer. Value is repeated every sizeof(UINTN) bytes for Length\r
+  bytes of Buffer.\r
+\r
+  If Length > 0 and Buffer is NULL, then ASSERT().\r
+  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
+  If Buffer is not aligned on a UINTN boundary, then ASSERT().\r
+  If Length is not aligned on a UINTN boundary, then ASSERT().\r
+\r
+  @param  Buffer  The pointer to the target buffer to fill.\r
+  @param  Length  The number of bytes in Buffer to fill.\r
+  @param  Value   The value with which to fill Length bytes of Buffer.\r
+\r
+  @return Buffer.\r
+\r
+**/\r
+VOID *\r
+EFIAPI\r
+SetMemN (\r
+  OUT VOID  *Buffer,\r
+  IN UINTN  Length,\r
+  IN UINTN  Value\r
+  )\r
+{\r
+  if (sizeof (UINTN) == sizeof (UINT64)) {\r
+    return SetMem64 (Buffer, Length, (UINT64)Value);\r
+  } else {\r
+    return SetMem32 (Buffer, Length, (UINT32)Value);\r
+  }\r
+}\r
index 39ec8cb0db2e838d71b652884fa123d27e3d78de..31f8bd4957859e6ba28a3679bcba03d051639403 100644 (file)
@@ -1,5 +1,5 @@
 /** @file\r
-  SetMem() and SetMemN() implementation.\r
+  SetMem() implementation.\r
 \r
   The following BaseMemoryLib instances contain the same copy of this file:\r
 \r
@@ -49,37 +49,3 @@ SetMem (
 \r
   return InternalMemSetMem (Buffer, Length, Value);\r
 }\r
-\r
-/**\r
-  Fills a target buffer with a value that is size UINTN, and returns the target buffer.\r
-\r
-  This function fills Length bytes of Buffer with the UINTN sized value specified by\r
-  Value, and returns Buffer. Value is repeated every sizeof(UINTN) bytes for Length\r
-  bytes of Buffer.\r
-\r
-  If Length > 0 and Buffer is NULL, then ASSERT().\r
-  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
-  If Buffer is not aligned on a UINTN boundary, then ASSERT().\r
-  If Length is not aligned on a UINTN boundary, then ASSERT().\r
-\r
-  @param  Buffer  The pointer to the target buffer to fill.\r
-  @param  Length  The number of bytes in Buffer to fill.\r
-  @param  Value   The value with which to fill Length bytes of Buffer.\r
-\r
-  @return Buffer.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-SetMemN (\r
-  OUT VOID  *Buffer,\r
-  IN UINTN  Length,\r
-  IN UINTN  Value\r
-  )\r
-{\r
-  if (sizeof (UINTN) == sizeof (UINT64)) {\r
-    return SetMem64 (Buffer, Length, (UINT64)Value);\r
-  } else {\r
-    return SetMem32 (Buffer, Length, (UINT32)Value);\r
-  }\r
-}\r
index 6a7fa9a5652aa3b1d5d0fc63fd54083658627170..ed10b2e8fa1c3f8eb26bf82562d785e853c00797 100644 (file)
@@ -92,6 +92,7 @@
   ScanMem8Wrapper.c\r
   ZeroMemWrapper.c\r
   CompareMemWrapper.c\r
+  SetMemNWrapper.c\r
   SetMem64Wrapper.c\r
   SetMem32Wrapper.c\r
   SetMem16Wrapper.c\r
diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/SetMemNWrapper.c b/MdePkg/Library/BaseMemoryLibOptDxe/SetMemNWrapper.c
new file mode 100644 (file)
index 0000000..8a7cfca
--- /dev/null
@@ -0,0 +1,54 @@
+/** @file\r
+  SetMemN() implementation.\r
+\r
+  The following BaseMemoryLib instances contain the same copy of this file:\r
+\r
+    BaseMemoryLib\r
+    BaseMemoryLibMmx\r
+    BaseMemoryLibSse2\r
+    BaseMemoryLibRepStr\r
+    BaseMemoryLibOptDxe\r
+    BaseMemoryLibOptPei\r
+    PeiMemoryLib\r
+    UefiMemoryLib\r
+\r
+  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#include "MemLibInternals.h"\r
+\r
+/**\r
+  Fills a target buffer with a value that is size UINTN, and returns the target buffer.\r
+\r
+  This function fills Length bytes of Buffer with the UINTN sized value specified by\r
+  Value, and returns Buffer. Value is repeated every sizeof(UINTN) bytes for Length\r
+  bytes of Buffer.\r
+\r
+  If Length > 0 and Buffer is NULL, then ASSERT().\r
+  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
+  If Buffer is not aligned on a UINTN boundary, then ASSERT().\r
+  If Length is not aligned on a UINTN boundary, then ASSERT().\r
+\r
+  @param  Buffer  The pointer to the target buffer to fill.\r
+  @param  Length  The number of bytes in Buffer to fill.\r
+  @param  Value   The value with which to fill Length bytes of Buffer.\r
+\r
+  @return Buffer.\r
+\r
+**/\r
+VOID *\r
+EFIAPI\r
+SetMemN (\r
+  OUT VOID  *Buffer,\r
+  IN UINTN  Length,\r
+  IN UINTN  Value\r
+  )\r
+{\r
+  if (sizeof (UINTN) == sizeof (UINT64)) {\r
+    return SetMem64 (Buffer, Length, (UINT64)Value);\r
+  } else {\r
+    return SetMem32 (Buffer, Length, (UINT32)Value);\r
+  }\r
+}\r
index 39ec8cb0db2e838d71b652884fa123d27e3d78de..31f8bd4957859e6ba28a3679bcba03d051639403 100644 (file)
@@ -1,5 +1,5 @@
 /** @file\r
-  SetMem() and SetMemN() implementation.\r
+  SetMem() implementation.\r
 \r
   The following BaseMemoryLib instances contain the same copy of this file:\r
 \r
@@ -49,37 +49,3 @@ SetMem (
 \r
   return InternalMemSetMem (Buffer, Length, Value);\r
 }\r
-\r
-/**\r
-  Fills a target buffer with a value that is size UINTN, and returns the target buffer.\r
-\r
-  This function fills Length bytes of Buffer with the UINTN sized value specified by\r
-  Value, and returns Buffer. Value is repeated every sizeof(UINTN) bytes for Length\r
-  bytes of Buffer.\r
-\r
-  If Length > 0 and Buffer is NULL, then ASSERT().\r
-  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
-  If Buffer is not aligned on a UINTN boundary, then ASSERT().\r
-  If Length is not aligned on a UINTN boundary, then ASSERT().\r
-\r
-  @param  Buffer  The pointer to the target buffer to fill.\r
-  @param  Length  The number of bytes in Buffer to fill.\r
-  @param  Value   The value with which to fill Length bytes of Buffer.\r
-\r
-  @return Buffer.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-SetMemN (\r
-  OUT VOID  *Buffer,\r
-  IN UINTN  Length,\r
-  IN UINTN  Value\r
-  )\r
-{\r
-  if (sizeof (UINTN) == sizeof (UINT64)) {\r
-    return SetMem64 (Buffer, Length, (UINT64)Value);\r
-  } else {\r
-    return SetMem32 (Buffer, Length, (UINT32)Value);\r
-  }\r
-}\r
index 43c2cc2a0a9bbd375cabb1439df879307a4ab40c..7e3136961cd5353544c7b2d9fd0f6a03e9815b51 100644 (file)
@@ -33,6 +33,7 @@
   ScanMem8Wrapper.c\r
   ZeroMemWrapper.c\r
   CompareMemWrapper.c\r
+  SetMemNWrapper.c\r
   SetMem64Wrapper.c\r
   SetMem32Wrapper.c\r
   SetMem16Wrapper.c\r
diff --git a/MdePkg/Library/BaseMemoryLibOptPei/SetMemNWrapper.c b/MdePkg/Library/BaseMemoryLibOptPei/SetMemNWrapper.c
new file mode 100644 (file)
index 0000000..8a7cfca
--- /dev/null
@@ -0,0 +1,54 @@
+/** @file\r
+  SetMemN() implementation.\r
+\r
+  The following BaseMemoryLib instances contain the same copy of this file:\r
+\r
+    BaseMemoryLib\r
+    BaseMemoryLibMmx\r
+    BaseMemoryLibSse2\r
+    BaseMemoryLibRepStr\r
+    BaseMemoryLibOptDxe\r
+    BaseMemoryLibOptPei\r
+    PeiMemoryLib\r
+    UefiMemoryLib\r
+\r
+  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#include "MemLibInternals.h"\r
+\r
+/**\r
+  Fills a target buffer with a value that is size UINTN, and returns the target buffer.\r
+\r
+  This function fills Length bytes of Buffer with the UINTN sized value specified by\r
+  Value, and returns Buffer. Value is repeated every sizeof(UINTN) bytes for Length\r
+  bytes of Buffer.\r
+\r
+  If Length > 0 and Buffer is NULL, then ASSERT().\r
+  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
+  If Buffer is not aligned on a UINTN boundary, then ASSERT().\r
+  If Length is not aligned on a UINTN boundary, then ASSERT().\r
+\r
+  @param  Buffer  The pointer to the target buffer to fill.\r
+  @param  Length  The number of bytes in Buffer to fill.\r
+  @param  Value   The value with which to fill Length bytes of Buffer.\r
+\r
+  @return Buffer.\r
+\r
+**/\r
+VOID *\r
+EFIAPI\r
+SetMemN (\r
+  OUT VOID  *Buffer,\r
+  IN UINTN  Length,\r
+  IN UINTN  Value\r
+  )\r
+{\r
+  if (sizeof (UINTN) == sizeof (UINT64)) {\r
+    return SetMem64 (Buffer, Length, (UINT64)Value);\r
+  } else {\r
+    return SetMem32 (Buffer, Length, (UINT32)Value);\r
+  }\r
+}\r
index 39ec8cb0db2e838d71b652884fa123d27e3d78de..31f8bd4957859e6ba28a3679bcba03d051639403 100644 (file)
@@ -1,5 +1,5 @@
 /** @file\r
-  SetMem() and SetMemN() implementation.\r
+  SetMem() implementation.\r
 \r
   The following BaseMemoryLib instances contain the same copy of this file:\r
 \r
@@ -49,37 +49,3 @@ SetMem (
 \r
   return InternalMemSetMem (Buffer, Length, Value);\r
 }\r
-\r
-/**\r
-  Fills a target buffer with a value that is size UINTN, and returns the target buffer.\r
-\r
-  This function fills Length bytes of Buffer with the UINTN sized value specified by\r
-  Value, and returns Buffer. Value is repeated every sizeof(UINTN) bytes for Length\r
-  bytes of Buffer.\r
-\r
-  If Length > 0 and Buffer is NULL, then ASSERT().\r
-  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
-  If Buffer is not aligned on a UINTN boundary, then ASSERT().\r
-  If Length is not aligned on a UINTN boundary, then ASSERT().\r
-\r
-  @param  Buffer  The pointer to the target buffer to fill.\r
-  @param  Length  The number of bytes in Buffer to fill.\r
-  @param  Value   The value with which to fill Length bytes of Buffer.\r
-\r
-  @return Buffer.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-SetMemN (\r
-  OUT VOID  *Buffer,\r
-  IN UINTN  Length,\r
-  IN UINTN  Value\r
-  )\r
-{\r
-  if (sizeof (UINTN) == sizeof (UINT64)) {\r
-    return SetMem64 (Buffer, Length, (UINT64)Value);\r
-  } else {\r
-    return SetMem32 (Buffer, Length, (UINT32)Value);\r
-  }\r
-}\r
index 59983d0a0c5bd33f3fb06dd5bc004b80ceaf3d35..4dad964a97c19e243a42136476318458c5cf8e7a 100644 (file)
@@ -33,6 +33,7 @@
   ScanMem8Wrapper.c\r
   ZeroMemWrapper.c\r
   CompareMemWrapper.c\r
+  SetMemNWrapper.c\r
   SetMem64Wrapper.c\r
   SetMem32Wrapper.c\r
   SetMem16Wrapper.c\r
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/SetMemNWrapper.c b/MdePkg/Library/BaseMemoryLibRepStr/SetMemNWrapper.c
new file mode 100644 (file)
index 0000000..8a7cfca
--- /dev/null
@@ -0,0 +1,54 @@
+/** @file\r
+  SetMemN() implementation.\r
+\r
+  The following BaseMemoryLib instances contain the same copy of this file:\r
+\r
+    BaseMemoryLib\r
+    BaseMemoryLibMmx\r
+    BaseMemoryLibSse2\r
+    BaseMemoryLibRepStr\r
+    BaseMemoryLibOptDxe\r
+    BaseMemoryLibOptPei\r
+    PeiMemoryLib\r
+    UefiMemoryLib\r
+\r
+  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#include "MemLibInternals.h"\r
+\r
+/**\r
+  Fills a target buffer with a value that is size UINTN, and returns the target buffer.\r
+\r
+  This function fills Length bytes of Buffer with the UINTN sized value specified by\r
+  Value, and returns Buffer. Value is repeated every sizeof(UINTN) bytes for Length\r
+  bytes of Buffer.\r
+\r
+  If Length > 0 and Buffer is NULL, then ASSERT().\r
+  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
+  If Buffer is not aligned on a UINTN boundary, then ASSERT().\r
+  If Length is not aligned on a UINTN boundary, then ASSERT().\r
+\r
+  @param  Buffer  The pointer to the target buffer to fill.\r
+  @param  Length  The number of bytes in Buffer to fill.\r
+  @param  Value   The value with which to fill Length bytes of Buffer.\r
+\r
+  @return Buffer.\r
+\r
+**/\r
+VOID *\r
+EFIAPI\r
+SetMemN (\r
+  OUT VOID  *Buffer,\r
+  IN UINTN  Length,\r
+  IN UINTN  Value\r
+  )\r
+{\r
+  if (sizeof (UINTN) == sizeof (UINT64)) {\r
+    return SetMem64 (Buffer, Length, (UINT64)Value);\r
+  } else {\r
+    return SetMem32 (Buffer, Length, (UINT32)Value);\r
+  }\r
+}\r
index 39ec8cb0db2e838d71b652884fa123d27e3d78de..31f8bd4957859e6ba28a3679bcba03d051639403 100644 (file)
@@ -1,5 +1,5 @@
 /** @file\r
-  SetMem() and SetMemN() implementation.\r
+  SetMem() implementation.\r
 \r
   The following BaseMemoryLib instances contain the same copy of this file:\r
 \r
@@ -49,37 +49,3 @@ SetMem (
 \r
   return InternalMemSetMem (Buffer, Length, Value);\r
 }\r
-\r
-/**\r
-  Fills a target buffer with a value that is size UINTN, and returns the target buffer.\r
-\r
-  This function fills Length bytes of Buffer with the UINTN sized value specified by\r
-  Value, and returns Buffer. Value is repeated every sizeof(UINTN) bytes for Length\r
-  bytes of Buffer.\r
-\r
-  If Length > 0 and Buffer is NULL, then ASSERT().\r
-  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
-  If Buffer is not aligned on a UINTN boundary, then ASSERT().\r
-  If Length is not aligned on a UINTN boundary, then ASSERT().\r
-\r
-  @param  Buffer  The pointer to the target buffer to fill.\r
-  @param  Length  The number of bytes in Buffer to fill.\r
-  @param  Value   The value with which to fill Length bytes of Buffer.\r
-\r
-  @return Buffer.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-SetMemN (\r
-  OUT VOID  *Buffer,\r
-  IN UINTN  Length,\r
-  IN UINTN  Value\r
-  )\r
-{\r
-  if (sizeof (UINTN) == sizeof (UINT64)) {\r
-    return SetMem64 (Buffer, Length, (UINT64)Value);\r
-  } else {\r
-    return SetMem32 (Buffer, Length, (UINT32)Value);\r
-  }\r
-}\r
index 69a29a1b7da388014d5ff8860dad341698f62a0c..fbc1a7b6cf1f96db93c5950541203b5a97425227 100644 (file)
@@ -32,6 +32,7 @@
   ScanMem8Wrapper.c\r
   ZeroMemWrapper.c\r
   CompareMemWrapper.c\r
+  SetMemNWrapper.c\r
   SetMem64Wrapper.c\r
   SetMem32Wrapper.c\r
   SetMem16Wrapper.c\r
diff --git a/MdePkg/Library/BaseMemoryLibSse2/SetMemNWrapper.c b/MdePkg/Library/BaseMemoryLibSse2/SetMemNWrapper.c
new file mode 100644 (file)
index 0000000..8a7cfca
--- /dev/null
@@ -0,0 +1,54 @@
+/** @file\r
+  SetMemN() implementation.\r
+\r
+  The following BaseMemoryLib instances contain the same copy of this file:\r
+\r
+    BaseMemoryLib\r
+    BaseMemoryLibMmx\r
+    BaseMemoryLibSse2\r
+    BaseMemoryLibRepStr\r
+    BaseMemoryLibOptDxe\r
+    BaseMemoryLibOptPei\r
+    PeiMemoryLib\r
+    UefiMemoryLib\r
+\r
+  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#include "MemLibInternals.h"\r
+\r
+/**\r
+  Fills a target buffer with a value that is size UINTN, and returns the target buffer.\r
+\r
+  This function fills Length bytes of Buffer with the UINTN sized value specified by\r
+  Value, and returns Buffer. Value is repeated every sizeof(UINTN) bytes for Length\r
+  bytes of Buffer.\r
+\r
+  If Length > 0 and Buffer is NULL, then ASSERT().\r
+  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
+  If Buffer is not aligned on a UINTN boundary, then ASSERT().\r
+  If Length is not aligned on a UINTN boundary, then ASSERT().\r
+\r
+  @param  Buffer  The pointer to the target buffer to fill.\r
+  @param  Length  The number of bytes in Buffer to fill.\r
+  @param  Value   The value with which to fill Length bytes of Buffer.\r
+\r
+  @return Buffer.\r
+\r
+**/\r
+VOID *\r
+EFIAPI\r
+SetMemN (\r
+  OUT VOID  *Buffer,\r
+  IN UINTN  Length,\r
+  IN UINTN  Value\r
+  )\r
+{\r
+  if (sizeof (UINTN) == sizeof (UINT64)) {\r
+    return SetMem64 (Buffer, Length, (UINT64)Value);\r
+  } else {\r
+    return SetMem32 (Buffer, Length, (UINT32)Value);\r
+  }\r
+}\r
index 39ec8cb0db2e838d71b652884fa123d27e3d78de..31f8bd4957859e6ba28a3679bcba03d051639403 100644 (file)
@@ -1,5 +1,5 @@
 /** @file\r
-  SetMem() and SetMemN() implementation.\r
+  SetMem() implementation.\r
 \r
   The following BaseMemoryLib instances contain the same copy of this file:\r
 \r
@@ -49,37 +49,3 @@ SetMem (
 \r
   return InternalMemSetMem (Buffer, Length, Value);\r
 }\r
-\r
-/**\r
-  Fills a target buffer with a value that is size UINTN, and returns the target buffer.\r
-\r
-  This function fills Length bytes of Buffer with the UINTN sized value specified by\r
-  Value, and returns Buffer. Value is repeated every sizeof(UINTN) bytes for Length\r
-  bytes of Buffer.\r
-\r
-  If Length > 0 and Buffer is NULL, then ASSERT().\r
-  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
-  If Buffer is not aligned on a UINTN boundary, then ASSERT().\r
-  If Length is not aligned on a UINTN boundary, then ASSERT().\r
-\r
-  @param  Buffer  The pointer to the target buffer to fill.\r
-  @param  Length  The number of bytes in Buffer to fill.\r
-  @param  Value   The value with which to fill Length bytes of Buffer.\r
-\r
-  @return Buffer.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-SetMemN (\r
-  OUT VOID  *Buffer,\r
-  IN UINTN  Length,\r
-  IN UINTN  Value\r
-  )\r
-{\r
-  if (sizeof (UINTN) == sizeof (UINT64)) {\r
-    return SetMem64 (Buffer, Length, (UINT64)Value);\r
-  } else {\r
-    return SetMem32 (Buffer, Length, (UINT32)Value);\r
-  }\r
-}\r
diff --git a/MdePkg/Library/UefiMemoryLib/SetMemNWrapper.c b/MdePkg/Library/UefiMemoryLib/SetMemNWrapper.c
new file mode 100644 (file)
index 0000000..8a7cfca
--- /dev/null
@@ -0,0 +1,54 @@
+/** @file\r
+  SetMemN() implementation.\r
+\r
+  The following BaseMemoryLib instances contain the same copy of this file:\r
+\r
+    BaseMemoryLib\r
+    BaseMemoryLibMmx\r
+    BaseMemoryLibSse2\r
+    BaseMemoryLibRepStr\r
+    BaseMemoryLibOptDxe\r
+    BaseMemoryLibOptPei\r
+    PeiMemoryLib\r
+    UefiMemoryLib\r
+\r
+  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#include "MemLibInternals.h"\r
+\r
+/**\r
+  Fills a target buffer with a value that is size UINTN, and returns the target buffer.\r
+\r
+  This function fills Length bytes of Buffer with the UINTN sized value specified by\r
+  Value, and returns Buffer. Value is repeated every sizeof(UINTN) bytes for Length\r
+  bytes of Buffer.\r
+\r
+  If Length > 0 and Buffer is NULL, then ASSERT().\r
+  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
+  If Buffer is not aligned on a UINTN boundary, then ASSERT().\r
+  If Length is not aligned on a UINTN boundary, then ASSERT().\r
+\r
+  @param  Buffer  The pointer to the target buffer to fill.\r
+  @param  Length  The number of bytes in Buffer to fill.\r
+  @param  Value   The value with which to fill Length bytes of Buffer.\r
+\r
+  @return Buffer.\r
+\r
+**/\r
+VOID *\r
+EFIAPI\r
+SetMemN (\r
+  OUT VOID  *Buffer,\r
+  IN UINTN  Length,\r
+  IN UINTN  Value\r
+  )\r
+{\r
+  if (sizeof (UINTN) == sizeof (UINT64)) {\r
+    return SetMem64 (Buffer, Length, (UINT64)Value);\r
+  } else {\r
+    return SetMem32 (Buffer, Length, (UINT32)Value);\r
+  }\r
+}\r
index 1d54a8afe19e736f998e35c521b9312800595b85..df1247d4524efffa79a5b9cac78e18740a0d5c14 100644 (file)
@@ -1,5 +1,5 @@
 /** @file\r
-  SetMem() and SetMemN() implementation.\r
+  SetMem() implementation.\r
 \r
   The following BaseMemoryLib instances contain the same copy of this file:\r
 \r
@@ -49,37 +49,3 @@ SetMem (
 \r
   return InternalMemSetMem (Buffer, Length, Value);\r
 }\r
-\r
-/**\r
-  Fills a target buffer with a value that is size UINTN, and returns the target buffer.\r
-\r
-  This function fills Length bytes of Buffer with the UINTN sized value specified by\r
-  Value, and returns Buffer. Value is repeated every sizeof(UINTN) bytes for Length\r
-  bytes of Buffer.\r
-\r
-  If Length > 0 and Buffer is NULL, then ASSERT().\r
-  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
-  If Buffer is not aligned on a UINTN boundary, then ASSERT().\r
-  If Length is not aligned on a UINTN boundary, then ASSERT().\r
-\r
-  @param  Buffer  The pointer to the target buffer to fill.\r
-  @param  Length  The number of bytes in Buffer to fill.\r
-  @param  Value   The value with which to fill Length bytes of Buffer.\r
-\r
-  @return Buffer.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-SetMemN (\r
-  OUT VOID  *Buffer,\r
-  IN UINTN  Length,\r
-  IN UINTN  Value\r
-  )\r
-{\r
-  if (sizeof (UINTN) == sizeof (UINT64)) {\r
-    return SetMem64 (Buffer, Length, (UINT64)Value);\r
-  } else {\r
-    return SetMem32 (Buffer, Length, (UINT32)Value);\r
-  }\r
-}\r
index 2556225e1d20d63b5db303d0438bb1af1662ebef..35dff7a4c3d6fcf043f0e70e9dd890fc8bf38b09 100644 (file)
@@ -32,6 +32,7 @@
   ScanMem8Wrapper.c\r
   ZeroMemWrapper.c\r
   CompareMemWrapper.c\r
+  SetMemNWrapper.c\r
   SetMem64Wrapper.c\r
   SetMem32Wrapper.c\r
   SetMem16Wrapper.c\r
@@ -47,7 +48,6 @@
 [Packages]\r
   MdePkg/MdePkg.dec\r
 \r
-\r
 [LibraryClasses]\r
   BaseLib\r
   UefiBootServicesTableLib\r