]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Add in BuildFv2Hob in HobLib
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 23 Aug 2007 06:22:53 +0000 (06:22 +0000)
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 23 Aug 2007 06:22:53 +0000 (06:22 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3693 6f19259b-4bc3-4df7-8a09-765794883524

MdePkg/Include/Pi/PiHob.h
MdePkg/Library/DxeCoreHobLib/HobLib.c
MdePkg/Library/DxeHobLib/HobLib.c
MdePkg/Library/PeiHobLib/HobLib.c

index 88091414b94ab485877d55595fe234b158978512..b415f1cdaddbb95375dfeeb95d3446dd5c2c7686 100644 (file)
@@ -247,6 +247,7 @@ typedef union {
   EFI_HOB_RESOURCE_DESCRIPTOR         *ResourceDescriptor;\r
   EFI_HOB_GUID_TYPE                   *Guid;\r
   EFI_HOB_FIRMWARE_VOLUME             *FirmwareVolume;\r
+  EFI_HOB_FIRMWARE_VOLUME2            *FirmwareVolume2;\r
   EFI_HOB_CPU                         *Cpu;\r
   EFI_HOB_MEMORY_POOL                 *Pool;\r
   UINT8                               *Raw;\r
index 407f7f921e8f16140125527d6aa0ee0953506992..1cce53e2d754f0f38eb45f60a4f42a1234bcad7e 100644 (file)
@@ -341,6 +341,32 @@ BuildFvHob (
   ASSERT (FALSE);\r
 }\r
 \r
+/**\r
+  Builds a EFI_HOB_TYPE_FV2 HOB.\r
+\r
+  This function builds a EFI_HOB_TYPE_FV2 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
+  @param  FvName       The name of the Firmware Volume.\r
+  @param  FileName      The name of the file.\r
+  \r
+**/\r
+VOID\r
+EFIAPI\r
+BuildFv2Hob (\r
+  IN          EFI_PHYSICAL_ADDRESS        BaseAddress,\r
+  IN          UINT64                      Length,\r
+  IN CONST    EFI_GUID                    *FvName,\r
+  IN CONST    EFI_GUID                    *FileName\r
+  )\r
+{\r
+  ASSERT (FALSE);\r
+}\r
+\r
 /**\r
   Builds a Capsule Volume HOB.\r
 \r
index 43e57b6a97a5262ab743b1f2bcc229288b9c3e4d..605d42f80c379354aa337e474ec9e0dc36f66902 100644 (file)
@@ -372,6 +372,33 @@ BuildFvHob (
   ASSERT (FALSE);\r
 }\r
 \r
+/**\r
+  Builds a EFI_HOB_TYPE_FV2 HOB.\r
+\r
+  This function builds a EFI_HOB_TYPE_FV2 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
+  @param  FvName       The name of the Firmware Volume.\r
+  @param  FileName      The name of the file.\r
+  \r
+**/\r
+VOID\r
+EFIAPI\r
+BuildFv2Hob (\r
+  IN          EFI_PHYSICAL_ADDRESS        BaseAddress,\r
+  IN          UINT64                      Length,\r
+  IN CONST    EFI_GUID                    *FvName,\r
+  IN CONST    EFI_GUID                    *FileName\r
+  )\r
+{\r
+  ASSERT (FALSE);\r
+}\r
+\r
+\r
 /**\r
   Builds a Capsule Volume HOB.\r
 \r
index 710e112deebd7fcfc505133311a25438f190e305..839a00f2620030bf02c15cc174c673211b8c3937 100644 (file)
@@ -404,6 +404,39 @@ BuildFvHob (
   Hob->Length      = Length;\r
 }\r
 \r
+/**\r
+  Builds a EFI_HOB_TYPE_FV2 HOB.\r
+\r
+  This function builds a EFI_HOB_TYPE_FV2 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
+  @param  FvName       The name of the Firmware Volume.\r
+  @param  FileName      The name of the file.\r
+  \r
+**/\r
+VOID\r
+EFIAPI\r
+BuildFv2Hob (\r
+  IN          EFI_PHYSICAL_ADDRESS        BaseAddress,\r
+  IN          UINT64                      Length,\r
+  IN CONST    EFI_GUID                    *FvName,\r
+  IN CONST    EFI_GUID                    *FileName\r
+  )\r
+{\r
+  EFI_HOB_FIRMWARE_VOLUME2  *Hob;\r
+\r
+  Hob = InternalPeiCreateHob (EFI_HOB_TYPE_FV2, sizeof (EFI_HOB_FIRMWARE_VOLUME2));\r
+\r
+  Hob->BaseAddress = BaseAddress;\r
+  Hob->Length      = Length;\r
+  CopyMem (&Hob->FvName, FvName, sizeof (EFI_GUID));\r
+  CopyMem (&Hob->FileName, FileName, sizeof (EFI_GUID));\r
+}\r
+\r
 /**\r
   Builds a Capsule Volume HOB.\r
 \r