]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/Dxe/Library/Library.c
MdeModulePkg: Apply uncrustify changes
[mirror_edk2.git] / MdeModulePkg / Core / Dxe / Library / Library.c
index 18f0a9f589838154cebe6817069a8e77e00fa374..63cef1daca149e36ca1e38181de3ea3d2cf290e2 100644 (file)
 /** @file\r
   DXE Core library services.\r
 \r
-Copyright (c) 2006 - 2008, 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
-**/\r
-\r
-#include <DxeMain.h>\r
-\r
-UINTN mErrorLevel = DEBUG_ERROR | DEBUG_LOAD;\r
-\r
-EFI_DXE_DEVICE_HANDLE_EXTENDED_DATA mStatusCodeData = {\r
-  {\r
-    sizeof (EFI_STATUS_CODE_DATA),\r
-    0,\r
-    EFI_STATUS_CODE_DXE_CORE_GUID\r
-  },\r
-  NULL\r
-};\r
-\r
-\r
-/**\r
-  Report status code of type EFI_PROGRESS_CODE by caller ID gEfiCallerIdGuid,\r
-  with a handle as additional information.\r
-\r
-  @param  Value              Describes the class/subclass/operation of the\r
-                             hardware or software entity that the Status Code\r
-                             relates to.\r
-  @param  Handle             Additional information.\r
-\r
-**/\r
-VOID\r
-CoreReportProgressCodeSpecific (\r
-  IN  EFI_STATUS_CODE_VALUE   Value,\r
-  IN  EFI_HANDLE              Handle\r
-  )\r
-{\r
-  mStatusCodeData.DataHeader.Size = sizeof (EFI_DXE_DEVICE_HANDLE_EXTENDED_DATA) - sizeof (EFI_STATUS_CODE_DATA);\r
-  mStatusCodeData.Handle          = Handle;\r
-\r
-  if ((gStatusCode != NULL) && (gStatusCode->ReportStatusCode != NULL) ) {\r
-    gStatusCode->ReportStatusCode (\r
-      EFI_PROGRESS_CODE,\r
-      Value,\r
-      0,\r
-      &gEfiCallerIdGuid,\r
-      (EFI_STATUS_CODE_DATA *) &mStatusCodeData\r
-      );\r
-  }\r
-}\r
-\r
-\r
-/**\r
-  Report status code of type EFI_PROGRESS_CODE by caller ID gEfiCallerIdGuid.\r
-\r
-  @param  Value              Describes the class/subclass/operation of the\r
-                             hardware or software entity that the Status Code\r
-                             relates to.\r
-\r
-**/\r
-VOID\r
-CoreReportProgressCode (\r
-  IN  EFI_STATUS_CODE_VALUE   Value\r
-  )\r
-{\r
-  if ((gStatusCode != NULL) && (gStatusCode->ReportStatusCode != NULL) ) {\r
-    gStatusCode->ReportStatusCode (\r
-      EFI_PROGRESS_CODE,\r
-      Value,\r
-      0,\r
-      &gEfiCallerIdGuid,\r
-      NULL\r
-      );\r
-  }\r
-}\r
-\r
-\r
-\r
-/**\r
-  Allocate pool of type EfiBootServicesData, the size is specified with AllocationSize.\r
-\r
-  @param  AllocationSize     Size to allocate.\r
-\r
-  @return Pointer of the allocated pool.\r
-\r
-**/\r
-VOID *\r
-CoreAllocateBootServicesPool (\r
-  IN  UINTN   AllocationSize\r
-  )\r
-{\r
-  VOID  *Memory;\r
-\r
-  CoreAllocatePool (EfiBootServicesData, AllocationSize, &Memory);\r
-  return Memory;\r
-}\r
-\r
-\r
-\r
-/**\r
-  Allocate pool of type EfiBootServicesData and zero it, the size is specified with AllocationSize.\r
-\r
-  @param  AllocationSize     Size to allocate.\r
-\r
-  @return Pointer of the allocated pool.\r
+Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
-VOID *\r
-CoreAllocateZeroBootServicesPool (\r
-  IN  UINTN   AllocationSize\r
-  )\r
-{\r
-  VOID  *Memory;\r
-\r
-  Memory = CoreAllocateBootServicesPool (AllocationSize);\r
-  ZeroMem (Memory, (Memory == NULL) ? 0 : AllocationSize);\r
-  return Memory;\r
-}\r
-\r
-\r
-\r
-/**\r
-  Allocate pool of specified size with EfiBootServicesData type, and copy specified buffer to this pool.\r
-\r
-  @param  AllocationSize     Size to allocate.\r
-  @param  Buffer             Specified buffer that will be copy to the allocated\r
-                             pool\r
-\r
-  @return Pointer of the allocated pool.\r
-\r
-**/\r
-VOID *\r
-CoreAllocateCopyPool (\r
-  IN  UINTN   AllocationSize,\r
-  IN  VOID    *Buffer\r
-  )\r
-{\r
-  VOID  *Memory;\r
-\r
-  Memory = CoreAllocateBootServicesPool (AllocationSize);\r
-  CopyMem (Memory, Buffer, (Memory == NULL) ? 0 : AllocationSize);\r
-\r
-  return Memory;\r
-}\r
-\r
-\r
-\r
-\r
-/**\r
-  Allocate pool of type EfiRuntimeServicesData, the size is specified with AllocationSize.\r
-\r
-  @param  AllocationSize     Size to allocate.\r
-\r
-  @return Pointer of the allocated pool.\r
-\r
-**/\r
-VOID *\r
-CoreAllocateRuntimePool (\r
-  IN  UINTN   AllocationSize\r
-  )\r
-{\r
-  VOID  *Memory;\r
-\r
-  CoreAllocatePool (EfiRuntimeServicesData, AllocationSize, &Memory);\r
-  return Memory;\r
-}\r
-\r
-\r
-/**\r
-  Allocate pool of specified size with EfiRuntimeServicesData type, and copy specified buffer to this pool.\r
-\r
-  @param  AllocationSize     Size to allocate.\r
-  @param  Buffer             Specified buffer that will be copy to the allocated\r
-                             pool\r
-\r
-  @return Pointer of the allocated pool.\r
-\r
-**/\r
-VOID *\r
-CoreAllocateRuntimeCopyPool (\r
-  IN  UINTN   AllocationSize,\r
-  IN  VOID    *Buffer\r
-  )\r
-{\r
-  VOID  *Memory;\r
-\r
-  Memory = CoreAllocateRuntimePool (AllocationSize);\r
-  CopyMem (Memory, Buffer, (Memory == NULL) ? 0 : AllocationSize);\r
-\r
-  return Memory;\r
-}\r
-\r
 \r
+#include "DxeMain.h"\r
 \r
 //\r
 // Lock Stuff\r
 //\r
 \r
-\r
 /**\r
   Initialize a basic mutual exclusion lock.   Each lock\r
   provides mutual exclusion access at it's task priority\r
@@ -238,8 +46,6 @@ CoreAcquireLockOrFail (
   return EFI_SUCCESS;\r
 }\r
 \r
-\r
-\r
 /**\r
   Raising to the task priority level of the mutual exclusion\r
   lock, and then acquires ownership of the lock.\r
@@ -261,8 +67,6 @@ CoreAcquireLock (
   Lock->Lock     = EfiLockAcquired;\r
 }\r
 \r
-\r
-\r
 /**\r
   Releases ownership of the mutual exclusion lock, and\r
   restores the previous task priority level.\r
@@ -277,7 +81,7 @@ CoreReleaseLock (
   IN EFI_LOCK  *Lock\r
   )\r
 {\r
-  EFI_TPL Tpl;\r
+  EFI_TPL  Tpl;\r
 \r
   ASSERT (Lock != NULL);\r
   ASSERT (Lock->Lock == EfiLockAcquired);\r
@@ -288,221 +92,3 @@ CoreReleaseLock (
 \r
   CoreRestoreTpl (Tpl);\r
 }\r
-\r
-\r
-\r
-/**\r
-  Calculate the size of a whole device path.\r
-\r
-  @param  DevicePath         The pointer to the device path data.\r
-\r
-  @return Size of device path data structure..\r
-\r
-**/\r
-UINTN\r
-CoreDevicePathSize (\r
-  IN EFI_DEVICE_PATH_PROTOCOL  *DevicePath\r
-  )\r
-{\r
-  EFI_DEVICE_PATH_PROTOCOL     *Start;\r
-\r
-  if (DevicePath == NULL) {\r
-    return 0;\r
-  }\r
-\r
-  //\r
-  // Search for the end of the device path structure\r
-  //\r
-  Start = DevicePath;\r
-  while (!EfiIsDevicePathEnd (DevicePath)) {\r
-    DevicePath = EfiNextDevicePathNode (DevicePath);\r
-  }\r
-\r
-  //\r
-  // Compute the size and add back in the size of the end device path structure\r
-  //\r
-  return ((UINTN) DevicePath - (UINTN) Start) + sizeof(EFI_DEVICE_PATH_PROTOCOL);\r
-}\r
-\r
-\r
-\r
-/**\r
-  Return TRUE is this is a multi instance device path.\r
-\r
-  @param  DevicePath         A pointer to a device path data structure.\r
-\r
-  @retval TRUE               If DevicePath is multi instance. FALSE - If\r
-                             DevicePath is not multi instance.\r
-\r
-**/\r
-BOOLEAN\r
-CoreIsDevicePathMultiInstance (\r
-  IN EFI_DEVICE_PATH_PROTOCOL  *DevicePath\r
-  )\r
-{\r
-  EFI_DEVICE_PATH_PROTOCOL *Node;\r
-\r
-  if (DevicePath == NULL) {\r
-    return FALSE;\r
-  }\r
-\r
-  Node = DevicePath;\r
-  while (!EfiIsDevicePathEnd (Node)) {\r
-    if (EfiIsDevicePathEndInstance (Node)) {\r
-      return TRUE;\r
-    }\r
-    Node = EfiNextDevicePathNode (Node);\r
-  }\r
-  return FALSE;\r
-}\r
-\r
-\r
-\r
-\r
-/**\r
-  Duplicate a new device path data structure from the old one.\r
-\r
-  @param  DevicePath         A pointer to a device path data structure.\r
-\r
-  @return A pointer to the new allocated device path data.\r
-  @return Caller must free the memory used by DevicePath if it is no longer needed.\r
-\r
-**/\r
-EFI_DEVICE_PATH_PROTOCOL *\r
-CoreDuplicateDevicePath (\r
-  IN EFI_DEVICE_PATH_PROTOCOL   *DevicePath\r
-  )\r
-{\r
-  EFI_DEVICE_PATH_PROTOCOL  *NewDevicePath;\r
-  UINTN                     Size;\r
-\r
-  if (DevicePath == NULL) {\r
-    return NULL;\r
-  }\r
-\r
-  //\r
-  // Compute the size\r
-  //\r
-  Size = CoreDevicePathSize (DevicePath);\r
-\r
-  //\r
-  // Allocate space for duplicate device path\r
-  //\r
-  NewDevicePath = CoreAllocateCopyPool (Size, DevicePath);\r
-\r
-  return NewDevicePath;\r
-}\r
-\r
-\r
-/**\r
-  Function is used to append a Src1 and Src2 together.\r
-\r
-  @param  Src1               A pointer to a device path data structure.\r
-  @param  Src2               A pointer to a device path data structure.\r
-\r
-  @return A pointer to the new device path is returned.\r
-  @return NULL is returned if space for the new device path could not be allocated from pool.\r
-  @return It is up to the caller to free the memory used by Src1 and Src2 if they are no longer needed.\r
-\r
-**/\r
-EFI_DEVICE_PATH_PROTOCOL *\r
-CoreAppendDevicePath (\r
-  IN EFI_DEVICE_PATH_PROTOCOL  *Src1,\r
-  IN EFI_DEVICE_PATH_PROTOCOL  *Src2\r
-  )\r
-{\r
-  UINTN                       Size;\r
-  UINTN                       Size1;\r
-  UINTN                       Size2;\r
-  EFI_DEVICE_PATH_PROTOCOL    *NewDevicePath;\r
-  EFI_DEVICE_PATH_PROTOCOL    *SecondDevicePath;\r
-\r
-  if (Src1 == NULL && Src2 == NULL) {\r
-    return NULL;\r
-  }\r
-\r
-  //\r
-  // Allocate space for the combined device path. It only has one end node of\r
-  // length EFI_DEVICE_PATH_PROTOCOL\r
-  //\r
-  Size1 = CoreDevicePathSize (Src1);\r
-  Size2 = CoreDevicePathSize (Src2);\r
-  Size = Size1 + Size2 - sizeof(EFI_DEVICE_PATH_PROTOCOL);\r
-\r
-  NewDevicePath = CoreAllocateCopyPool (Size, Src1);\r
-  if (NewDevicePath != NULL) {\r
-\r
-     //\r
-     // Over write Src1 EndNode and do the copy\r
-     //\r
-     SecondDevicePath = (EFI_DEVICE_PATH_PROTOCOL *)((CHAR8 *)NewDevicePath + (Size1 - sizeof(EFI_DEVICE_PATH_PROTOCOL)));\r
-     CopyMem (SecondDevicePath, Src2, Size2);\r
-  }\r
-\r
-  return NewDevicePath;\r
-}\r
-\r
-\r
-/**\r
-  Create a protocol notification event and return it.\r
-\r
-  @param  ProtocolGuid       Protocol to register notification event on.\r
-  @param  NotifyTpl          Maximum TPL to signal the NotifyFunction.\r
-  @param  NotifyFunction     EFI notification routine.\r
-  @param  NotifyContext      Context passed into Event when it is created.\r
-  @param  Registration       Registration key returned from\r
-                             RegisterProtocolNotify().\r
-  @param  SignalFlag         Boolean value to decide whether kick the event after\r
-                             register or not.\r
-\r
-  @return The EFI_EVENT that has been registered to be signaled when a ProtocolGuid\r
-          is added to the system.\r
-\r
-**/\r
-EFI_EVENT\r
-CoreCreateProtocolNotifyEvent (\r
-  IN EFI_GUID             *ProtocolGuid,\r
-  IN EFI_TPL              NotifyTpl,\r
-  IN EFI_EVENT_NOTIFY     NotifyFunction,\r
-  IN VOID                 *NotifyContext,\r
-  OUT VOID                **Registration,\r
-  IN  BOOLEAN             SignalFlag\r
-  )\r
-{\r
-  EFI_STATUS              Status;\r
-  EFI_EVENT               Event;\r
-\r
-  //\r
-  // Create the event\r
-  //\r
-  Status = CoreCreateEvent (\r
-            EVT_NOTIFY_SIGNAL,\r
-            NotifyTpl,\r
-            NotifyFunction,\r
-            NotifyContext,\r
-            &Event\r
-            );\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  //\r
-  // Register for protocol notifactions on this event\r
-  //\r
-  Status = CoreRegisterProtocolNotify (\r
-             ProtocolGuid,\r
-             Event,\r
-             Registration\r
-             );\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  if (SignalFlag) {\r
-    //\r
-    // Kick the event so we will perform an initial pass of\r
-    // current installed drivers\r
-    //\r
-    CoreSignalEvent (Event);\r
-  }\r
-\r
-  return Event;\r
-}\r
-\r
-\r