mirror of https://github.com/acidanthera/audk.git
EmbeddedPkg PrePiHobLib: Implement BuildFv3Hob
Cc: Leif Lindholm <leif.lindholm@linaro.org> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
This commit is contained in:
parent
2331cab7d4
commit
e39e40caa0
|
@ -1,6 +1,7 @@
|
||||||
/** @file
|
/** @file
|
||||||
|
|
||||||
Copyright (c) 2010, Apple Inc. All rights reserved.<BR>
|
Copyright (c) 2010, Apple Inc. All rights reserved.<BR>
|
||||||
|
Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
|
||||||
|
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
|
@ -601,7 +602,50 @@ BuildFv2Hob (
|
||||||
CopyGuid (&Hob->FileName, FileName);
|
CopyGuid (&Hob->FileName, FileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Builds a EFI_HOB_TYPE_FV3 HOB.
|
||||||
|
|
||||||
|
This function builds a EFI_HOB_TYPE_FV3 HOB.
|
||||||
|
It can only be invoked during PEI phase;
|
||||||
|
for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.
|
||||||
|
|
||||||
|
If there is no additional space for HOB creation, then ASSERT().
|
||||||
|
|
||||||
|
@param BaseAddress The base address of the Firmware Volume.
|
||||||
|
@param Length The size of the Firmware Volume in bytes.
|
||||||
|
@param AuthenticationStatus The authentication status.
|
||||||
|
@param ExtractedFv TRUE if the FV was extracted as a file within
|
||||||
|
another firmware volume. FALSE otherwise.
|
||||||
|
@param FvName The name of the Firmware Volume.
|
||||||
|
Valid only if IsExtractedFv is TRUE.
|
||||||
|
@param FileName The name of the file.
|
||||||
|
Valid only if IsExtractedFv is TRUE.
|
||||||
|
|
||||||
|
**/
|
||||||
|
VOID
|
||||||
|
EFIAPI
|
||||||
|
BuildFv3Hob (
|
||||||
|
IN EFI_PHYSICAL_ADDRESS BaseAddress,
|
||||||
|
IN UINT64 Length,
|
||||||
|
IN UINT32 AuthenticationStatus,
|
||||||
|
IN BOOLEAN ExtractedFv,
|
||||||
|
IN CONST EFI_GUID *FvName, OPTIONAL
|
||||||
|
IN CONST EFI_GUID *FileName OPTIONAL
|
||||||
|
)
|
||||||
|
{
|
||||||
|
EFI_HOB_FIRMWARE_VOLUME3 *Hob;
|
||||||
|
|
||||||
|
Hob = CreateHob (EFI_HOB_TYPE_FV3, sizeof (EFI_HOB_FIRMWARE_VOLUME3));
|
||||||
|
|
||||||
|
Hob->BaseAddress = BaseAddress;
|
||||||
|
Hob->Length = Length;
|
||||||
|
Hob->AuthenticationStatus = AuthenticationStatus;
|
||||||
|
Hob->ExtractedFv = ExtractedFv;
|
||||||
|
if (ExtractedFv) {
|
||||||
|
CopyGuid (&Hob->FvName, FvName);
|
||||||
|
CopyGuid (&Hob->FileName, FileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Builds a Capsule Volume HOB.
|
Builds a Capsule Volume HOB.
|
||||||
|
|
Loading…
Reference in New Issue