]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OldMdePkg/Library/DxeCoreHobLib/HobLib.c
Retiring the ANT/JAVA build and removing the older EDK II packages that required...
[mirror_edk2.git] / OldMdePkg / Library / DxeCoreHobLib / HobLib.c
diff --git a/OldMdePkg/Library/DxeCoreHobLib/HobLib.c b/OldMdePkg/Library/DxeCoreHobLib/HobLib.c
deleted file mode 100644 (file)
index 6bf6749..0000000
+++ /dev/null
@@ -1,464 +0,0 @@
-/** @file\r
-  HOB Library.\r
-\r
-  Copyright (c) 2006 - 2007, 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:  HobLib.c\r
-\r
-**/\r
-\r
-#include "HobLib.h"\r
-\r
-/**\r
-  Returns the pointer to the HOB list.\r
-\r
-  This function returns the pointer to first HOB in the list.\r
-\r
-  @return The pointer to the HOB list.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-GetHobList (\r
-  VOID\r
-  )\r
-{\r
-  return gHobList;\r
-}\r
-\r
-/**\r
-  Returns the next instance of a HOB type from the starting HOB.\r
-\r
-  This function searches the first instance of a HOB type from the starting HOB pointer. \r
-  If there does not exist such HOB type from the starting HOB pointer, it will return NULL.\r
-  In contrast with macro GET_NEXT_HOB(), this function does not skip the starting HOB pointer\r
-  unconditionally: it returns HobStart back if HobStart itself meets the requirement;\r
-  caller is required to use GET_NEXT_HOB() if it wishes to skip current HobStart.\r
-  If HobStart is NULL, then ASSERT().\r
-\r
-  @param  Type          The HOB type to return.\r
-  @param  HobStart      The starting HOB pointer to search from.\r
-\r
-  @return The next instance of a HOB type from the starting HOB.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-GetNextHob (\r
-  IN UINT16                 Type,\r
-  IN CONST VOID             *HobStart\r
-  )\r
-{\r
-  EFI_PEI_HOB_POINTERS  Hob;\r
-\r
-  ASSERT (HobStart != NULL);\r
-   \r
-  Hob.Raw = (UINT8 *) HobStart;\r
-  //\r
-  // Parse the HOB list until end of list or matching type is found.\r
-  //\r
-  while (!END_OF_HOB_LIST (Hob)) {\r
-    if (Hob.Header->HobType == Type) {\r
-      return Hob.Raw;\r
-    }\r
-    Hob.Raw = GET_NEXT_HOB (Hob);\r
-  }\r
-  return NULL;\r
-}\r
-\r
-/**\r
-  Returns the first instance of a HOB type among the whole HOB list.\r
-\r
-  This function searches the first instance of a HOB type among the whole HOB list. \r
-  If there does not exist such HOB type in the HOB list, it will return NULL. \r
-\r
-  @param  Type          The HOB type to return.\r
-\r
-  @return The next instance of a HOB type from the starting HOB.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-GetFirstHob (\r
-  IN UINT16                 Type\r
-  )\r
-{\r
-  VOID      *HobList;\r
-\r
-  HobList = GetHobList ();\r
-  return GetNextHob (Type, HobList);\r
-}\r
-\r
-/**\r
-  This function searches the first instance of a HOB from the starting HOB pointer. \r
-  Such HOB should satisfy two conditions: \r
-  its HOB type is EFI_HOB_TYPE_GUID_EXTENSION and its GUID Name equals to the input Guid. \r
-  If there does not exist such HOB from the starting HOB pointer, it will return NULL. \r
-  Caller is required to apply GET_GUID_HOB_DATA () and GET_GUID_HOB_DATA_SIZE ()\r
-  to extract the data section and its size info respectively.\r
-  In contrast with macro GET_NEXT_HOB(), this function does not skip the starting HOB pointer\r
-  unconditionally: it returns HobStart back if HobStart itself meets the requirement;\r
-  caller is required to use GET_NEXT_HOB() if it wishes to skip current HobStart.\r
-  If Guid is NULL, then ASSERT().\r
-  If HobStart is NULL, then ASSERT().\r
-\r
-  @param  Guid          The GUID to match with in the HOB list.\r
-  @param  HobStart      A pointer to a Guid.\r
-\r
-  @return The next instance of the matched GUID HOB from the starting HOB.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-GetNextGuidHob (\r
-  IN CONST EFI_GUID         *Guid,\r
-  IN CONST VOID             *HobStart\r
-  )\r
-{\r
-  EFI_PEI_HOB_POINTERS  GuidHob;\r
-\r
-  GuidHob.Raw = (UINT8 *) HobStart;\r
-  while ((GuidHob.Raw = GetNextHob (EFI_HOB_TYPE_GUID_EXTENSION, GuidHob.Raw)) != NULL) {\r
-    if (CompareGuid (Guid, &GuidHob.Guid->Name)) {\r
-      break;\r
-    }\r
-    GuidHob.Raw = GET_NEXT_HOB (GuidHob);\r
-  }\r
-  return GuidHob.Raw;\r
-}\r
-\r
-/**\r
-  This function searches the first instance of a HOB among the whole HOB list. \r
-  Such HOB should satisfy two conditions:\r
-  its HOB type is EFI_HOB_TYPE_GUID_EXTENSION and its GUID Name equals to the input Guid.\r
-  If there does not exist such HOB from the starting HOB pointer, it will return NULL.\r
-  Caller is required to apply GET_GUID_HOB_DATA () and GET_GUID_HOB_DATA_SIZE ()\r
-  to extract the data section and its size info respectively.\r
-  If Guid is NULL, then ASSERT().\r
-\r
-  @param  Guid          The GUID to match with in the HOB list.\r
-\r
-  @return The first instance of the matched GUID HOB among the whole HOB list.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-GetFirstGuidHob (\r
-  IN CONST EFI_GUID         *Guid\r
-  )\r
-{\r
-  VOID      *HobList;\r
-\r
-  HobList = GetHobList ();\r
-  return GetNextGuidHob (Guid, HobList);\r
-}\r
-\r
-/**\r
-  Get the Boot Mode from the HOB list.\r
-\r
-  This function returns the system boot mode information from the \r
-  PHIT HOB in HOB list.\r
-\r
-  @param  VOID\r
-\r
-  @return The Boot Mode.\r
-\r
-**/\r
-EFI_BOOT_MODE\r
-EFIAPI\r
-GetBootModeHob (\r
-  VOID\r
-  )\r
-{\r
-  EFI_HOB_HANDOFF_INFO_TABLE    *HandOffHob;\r
-\r
-  HandOffHob = (EFI_HOB_HANDOFF_INFO_TABLE *) GetHobList ();\r
-\r
-  return  HandOffHob->BootMode;\r
-}\r
-/**\r
-  Builds a HOB for a loaded PE32 module.\r
-\r
-  This function builds a HOB for a loaded PE32 module.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-  If ModuleName is NULL, then ASSERT().\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-\r
-  @param  ModuleName              The GUID File Name of the module.\r
-  @param  MemoryAllocationModule  The 64 bit physical address of the module.\r
-  @param  ModuleLength            The length of the module in bytes.\r
-  @param  EntryPoint              The 64 bit physical address of the module's entry point.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BuildModuleHob (\r
-  IN CONST EFI_GUID         *ModuleName,\r
-  IN EFI_PHYSICAL_ADDRESS   MemoryAllocationModule,\r
-  IN UINT64                 ModuleLength,\r
-  IN EFI_PHYSICAL_ADDRESS   EntryPoint\r
-  )\r
-{\r
-  //\r
-  // PEI HOB is read only for DXE phase\r
-  //\r
-  ASSERT (FALSE);\r
-}\r
-\r
-/**\r
-  Builds a HOB that describes a chunk of system memory.\r
-\r
-  This function builds a HOB that describes a chunk of system memory.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-\r
-  @param  ResourceType        The type of resource described by this HOB.\r
-  @param  ResourceAttribute   The resource attributes of the memory described by this HOB.\r
-  @param  PhysicalStart       The 64 bit physical address of memory described by this HOB.\r
-  @param  NumberOfBytes       The length of the memory described by this HOB in bytes.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BuildResourceDescriptorHob (\r
-  IN EFI_RESOURCE_TYPE            ResourceType,\r
-  IN EFI_RESOURCE_ATTRIBUTE_TYPE  ResourceAttribute,\r
-  IN EFI_PHYSICAL_ADDRESS         PhysicalStart,\r
-  IN UINT64                       NumberOfBytes\r
-  )\r
-{\r
-  //\r
-  // PEI HOB is read only for DXE phase\r
-  //\r
-  ASSERT (FALSE);\r
-}\r
-\r
-/**\r
-  Builds a GUID HOB with a certain data length.\r
-\r
-  This function builds a customized HOB tagged with a GUID for identification \r
-  and returns the start address of GUID HOB data so that caller can fill the customized data. \r
-  The HOB Header and Name field is already stripped.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-  If Guid is NULL, then ASSERT().\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-  If DataLength >= (0x10000 - sizeof (EFI_HOB_GUID_TYPE)), then ASSERT().\r
-\r
-  @param  Guid          The GUID to tag the customized HOB.\r
-  @param  DataLength    The size of the data payload for the GUID HOB.\r
-\r
-  @return The start address of GUID HOB data.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-BuildGuidHob (\r
-  IN CONST EFI_GUID              *Guid,\r
-  IN UINTN                       DataLength\r
-  )\r
-{\r
-  //\r
-  // PEI HOB is read only for DXE phase\r
-  //\r
-  ASSERT (FALSE);\r
-  return NULL;\r
-}\r
-\r
-/**\r
-  Copies a data buffer to a newly-built HOB.\r
-\r
-  This function builds a customized HOB tagged with a GUID for identification,\r
-  copies the input data to the HOB data field and returns the start address of the GUID HOB data.\r
-  The HOB Header and Name field is already stripped.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-  If Guid is NULL, then ASSERT().\r
-  If Data is NULL and DataLength > 0, then ASSERT().\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-  If DataLength >= (0x10000 - sizeof (EFI_HOB_GUID_TYPE)), then ASSERT().\r
-\r
-  @param  Guid          The GUID to tag the customized HOB.\r
-  @param  Data          The data to be copied into the data field of the GUID HOB.\r
-  @param  DataLength    The size of the data payload for the GUID HOB.\r
-\r
-  @return The start address of GUID HOB data.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-BuildGuidDataHob (\r
-  IN CONST EFI_GUID              *Guid,\r
-  IN VOID                        *Data,\r
-  IN UINTN                       DataLength\r
-  )\r
-{\r
-  //\r
-  // PEI HOB is read only for DXE phase\r
-  //\r
-  ASSERT (FALSE);\r
-  return NULL;\r
-}\r
-\r
-/**\r
-  Builds a Firmware Volume HOB.\r
-\r
-  This function builds a Firmware Volume HOB.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-\r
-  @param  BaseAddress   The base address of the Firmware Volume.\r
-  @param  Length        The size of the Firmware Volume in bytes.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BuildFvHob (\r
-  IN EFI_PHYSICAL_ADDRESS        BaseAddress,\r
-  IN UINT64                      Length\r
-  )\r
-{\r
-  //\r
-  // PEI HOB is read only for DXE phase\r
-  //\r
-  ASSERT (FALSE);\r
-}\r
-\r
-/**\r
-  Builds a Capsule Volume HOB.\r
-\r
-  This function builds a Capsule Volume HOB.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-\r
-  @param  BaseAddress   The base address of the Capsule Volume.\r
-  @param  Length        The size of the Capsule Volume in bytes.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BuildCvHob (\r
-  IN EFI_PHYSICAL_ADDRESS        BaseAddress,\r
-  IN UINT64                      Length\r
-  )\r
-{\r
-  //\r
-  // PEI HOB is read only for DXE phase\r
-  //\r
-  ASSERT (FALSE);\r
-}\r
-\r
-/**\r
-  Builds a HOB for the CPU.\r
-\r
-  This function builds a HOB for the CPU.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-\r
-  @param  SizeOfMemorySpace   The maximum physical memory addressability of the processor.\r
-  @param  SizeOfIoSpace       The maximum physical I/O addressability of the processor.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BuildCpuHob (\r
-  IN UINT8                       SizeOfMemorySpace,\r
-  IN UINT8                       SizeOfIoSpace\r
-  )\r
-{\r
-  //\r
-  // PEI HOB is read only for DXE phase\r
-  //\r
-  ASSERT (FALSE);\r
-}\r
-\r
-/**\r
-  Builds a HOB for the Stack.\r
-\r
-  This function builds a HOB for the stack.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-\r
-  @param  BaseAddress   The 64 bit physical address of the Stack.\r
-  @param  Length        The length of the stack in bytes.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BuildStackHob (\r
-  IN EFI_PHYSICAL_ADDRESS        BaseAddress,\r
-  IN UINT64                      Length\r
-  )\r
-{\r
-  //\r
-  // PEI HOB is read only for DXE phase\r
-  //\r
-  ASSERT (FALSE);\r
-}\r
-\r
-/**\r
-  Builds a HOB for the BSP store.\r
-\r
-  This function builds a HOB for BSP store.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-\r
-  @param  BaseAddress   The 64 bit physical address of the BSP.\r
-  @param  Length        The length of the BSP store in bytes.\r
-  @param  MemoryType    Type of memory allocated by this HOB.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BuildBspStoreHob (\r
-  IN EFI_PHYSICAL_ADDRESS        BaseAddress,\r
-  IN UINT64                      Length,\r
-  IN EFI_MEMORY_TYPE             MemoryType\r
-  )\r
-{\r
-  //\r
-  // PEI HOB is read only for DXE phase\r
-  //\r
-  ASSERT (FALSE);\r
-}\r
-\r
-/**\r
-  Builds a HOB for the memory allocation.\r
-\r
-  This function builds a HOB for the memory allocation.\r
-  It can only be invoked during PEI phase;\r
-  for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
-  If there is no additional space for HOB creation, then ASSERT().\r
-\r
-  @param  BaseAddress   The 64 bit physical address of the memory.\r
-  @param  Length        The length of the memory allocation in bytes.\r
-  @param  MemoryType    Type of memory allocated by this HOB.\r
-\r
-**/\r
-VOID\r
-EFIAPI\r
-BuildMemoryAllocationHob (\r
-  IN EFI_PHYSICAL_ADDRESS        BaseAddress,\r
-  IN UINT64                      Length,\r
-  IN EFI_MEMORY_TYPE             MemoryType\r
-  )\r
-{\r
-  //\r
-  // PEI HOB is read only for DXE phase\r
-  //\r
-  ASSERT (FALSE);\r
-}\r