]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/PeiMemoryLib/MemLibGuid.c
Update the copyright notice format
[mirror_edk2.git] / MdePkg / Library / PeiMemoryLib / MemLibGuid.c
index 351e370c2cc8d63e028ad4a9fcffe7373bff7b76..d4e504a0137b1537f51cf2d1639b27807644867f 100644 (file)
@@ -1,33 +1,36 @@
 /** @file\r
   Implementation of GUID functions.\r
 \r
-  Copyright (c) 2006, Intel Corporation<BR>\r
-  All rights reserved. This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-  Module Name:  MemLibGuid.c\r
-\r
-  The following BaseMemoryLib instances share the same version of this file:\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 - 2009, Intel Corporation. All rights reserved.<BR>\r
+  This program and the accompanying materials\r
+  are licensed and made available under the terms and conditions of the BSD License\r
+  which accompanies this distribution.  The full text of the license may be found at\r
+  http://opensource.org/licenses/bsd-license.php\r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
 **/\r
 \r
+#include "MemLibInternals.h"\r
+\r
 /**\r
   Copies a source GUID to a destination GUID.\r
 \r
   This function copies the contents of the 128-bit GUID specified by SourceGuid to\r
   DestinationGuid, and returns DestinationGuid.\r
+  \r
   If DestinationGuid is NULL, then ASSERT().\r
   If SourceGuid is NULL, then ASSERT().\r
 \r
@@ -60,6 +63,7 @@ CopyGuid (
 \r
   This function compares Guid1 to Guid2.  If the GUIDs are identical then TRUE is returned.\r
   If there are any bit differences in the two GUIDs, then FALSE is returned.\r
+  \r
   If Guid1 is NULL, then ASSERT().\r
   If Guid2 is NULL, then ASSERT().\r
 \r
@@ -77,26 +81,33 @@ CompareGuid (
   IN CONST GUID  *Guid2\r
   )\r
 {\r
-  return (BOOLEAN)(\r
-           ReadUnaligned64 ((CONST UINT64*)Guid1)\r
-             == ReadUnaligned64 ((CONST UINT64*)Guid2) &&\r
-           ReadUnaligned64 ((CONST UINT64*)Guid1 + 1)\r
-             == ReadUnaligned64 ((CONST UINT64*)Guid2 + 1)\r
-           );\r
+  UINT64  LowPartOfGuid1;\r
+  UINT64  LowPartOfGuid2;\r
+  UINT64  HighPartOfGuid1;\r
+  UINT64  HighPartOfGuid2;\r
+\r
+  LowPartOfGuid1  = ReadUnaligned64 ((CONST UINT64*) Guid1);\r
+  LowPartOfGuid2  = ReadUnaligned64 ((CONST UINT64*) Guid2);\r
+  HighPartOfGuid1 = ReadUnaligned64 ((CONST UINT64*) Guid1 + 1);\r
+  HighPartOfGuid2 = ReadUnaligned64 ((CONST UINT64*) Guid2 + 1);\r
+\r
+  return (BOOLEAN) (LowPartOfGuid1 == LowPartOfGuid2 && HighPartOfGuid1 == HighPartOfGuid2);\r
 }\r
 \r
 /**\r
   Scans a target buffer for a GUID, and returns a pointer to the matching GUID\r
   in the target buffer.\r
 \r
-  This function searches target the buffer specified by Buffer and Length from\r
+  This function searches the target buffer specified by Buffer and Length from\r
   the lowest address to the highest address at 128-bit increments for the 128-bit\r
   GUID value that matches Guid.  If a match is found, then a pointer to the matching\r
   GUID in the target buffer is returned.  If no match is found, then NULL is returned.\r
   If Length is 0, then NULL is returned.\r
+  \r
   If Length > 0 and Buffer is NULL, then ASSERT().\r
-  If Buffer is not aligned on a 64-bit boundary, then ASSERT().\r
-  If Length is greater than (MAX_ADDRESS \96 Buffer + 1), then ASSERT(). \r
+  If Buffer is not aligned on a 32-bit boundary, then ASSERT().\r
+  If Length is not aligned on a 128-bit boundary, then ASSERT().\r
+  If Length is greater than (MAX_ADDRESS - Buffer + 1), then ASSERT().\r
 \r
   @param  Buffer  Pointer to the target buffer to scan.\r
   @param  Length  Number of bytes in Buffer to scan.\r
@@ -115,16 +126,12 @@ ScanGuid (
 {\r
   CONST GUID                        *GuidPtr;\r
 \r
-  ASSERT (Buffer != NULL);\r
-  //\r
-  // Make sure Buffer is aligned on a 64-bit boundary.\r
-  //\r
-  ASSERT (((UINTN) Buffer & 7) == 0);\r
-\r
+  ASSERT (((UINTN)Buffer & (sizeof (Guid->Data1) - 1)) == 0);\r
   ASSERT (Length <= (MAX_ADDRESS - (UINTN)Buffer + 1));\r
+  ASSERT ((Length & (sizeof (*GuidPtr) - 1)) == 0);\r
 \r
   GuidPtr = (GUID*)Buffer;\r
-  Buffer = GuidPtr + Length / sizeof (*GuidPtr);\r
+  Buffer  = GuidPtr + Length / sizeof (*GuidPtr);\r
   while (GuidPtr < (CONST GUID*)Buffer) {\r
     if (CompareGuid (GuidPtr, Guid)) {\r
       return (VOID*)GuidPtr;\r