* [PATCH V2 0/2] Implement BuildFv3Hob for PrePiHobLib and ArmVirtDxeHobLib @ 2017-10-05 8:21 Star Zeng 2017-10-05 8:21 ` [PATCH V2 1/2] EmbeddedPkg PrePiHobLib: Implement BuildFv3Hob Star Zeng 2017-10-05 8:21 ` [PATCH V2 2/2] ArmVirtPkg ArmVirtDxeHobLib: " Star Zeng 0 siblings, 2 replies; 5+ messages in thread From: Star Zeng @ 2017-10-05 8:21 UTC (permalink / raw) To: edk2-devel Cc: Star Zeng, Leif Lindholm, Ard Biesheuvel, Laszlo Ersek, Liming Gao V2: Keep line lengths below 80 columns and fix copyright line according to Ard's feedback. This patch series is supplement of https://lists.01.org/pipermail/edk2-devel/2017-October/015589.html. 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> Star Zeng (2): EmbeddedPkg PrePiHobLib: Implement BuildFv3Hob ArmVirtPkg ArmVirtDxeHobLib: Implement BuildFv3Hob ArmVirtPkg/Library/ArmVirtDxeHobLib/HobLib.c | 36 ++++++++++++++++++++++- EmbeddedPkg/Library/PrePiHobLib/Hob.c | 44 ++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+), 1 deletion(-) -- 2.13.3.windows.1 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH V2 1/2] EmbeddedPkg PrePiHobLib: Implement BuildFv3Hob 2017-10-05 8:21 [PATCH V2 0/2] Implement BuildFv3Hob for PrePiHobLib and ArmVirtDxeHobLib Star Zeng @ 2017-10-05 8:21 ` Star Zeng 2017-10-05 8:40 ` Ard Biesheuvel 2017-10-05 8:21 ` [PATCH V2 2/2] ArmVirtPkg ArmVirtDxeHobLib: " Star Zeng 1 sibling, 1 reply; 5+ messages in thread From: Star Zeng @ 2017-10-05 8:21 UTC (permalink / raw) To: edk2-devel Cc: Star Zeng, Leif Lindholm, Ard Biesheuvel, Laszlo Ersek, Liming Gao 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> --- EmbeddedPkg/Library/PrePiHobLib/Hob.c | 44 +++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/EmbeddedPkg/Library/PrePiHobLib/Hob.c b/EmbeddedPkg/Library/PrePiHobLib/Hob.c index aff532259ef4..aff8ea05797b 100644 --- a/EmbeddedPkg/Library/PrePiHobLib/Hob.c +++ b/EmbeddedPkg/Library/PrePiHobLib/Hob.c @@ -1,6 +1,7 @@ /** @file Copyright (c) 2010, Apple Inc. All rights reserved.<BR> + Copyright (c) 2017, Intel Corporation. All rights reserved.<BR> This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -601,7 +602,50 @@ BuildFv2Hob ( 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. -- 2.13.3.windows.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH V2 1/2] EmbeddedPkg PrePiHobLib: Implement BuildFv3Hob 2017-10-05 8:21 ` [PATCH V2 1/2] EmbeddedPkg PrePiHobLib: Implement BuildFv3Hob Star Zeng @ 2017-10-05 8:40 ` Ard Biesheuvel 2017-10-05 12:50 ` Zeng, Star 0 siblings, 1 reply; 5+ messages in thread From: Ard Biesheuvel @ 2017-10-05 8:40 UTC (permalink / raw) To: Star Zeng Cc: edk2-devel@lists.01.org, Leif Lindholm, Laszlo Ersek, Liming Gao On 5 October 2017 at 09:21, Star Zeng <star.zeng@intel.com> wrote: > 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> > --- > EmbeddedPkg/Library/PrePiHobLib/Hob.c | 44 +++++++++++++++++++++++++++++++++++ > 1 file changed, 44 insertions(+) > > diff --git a/EmbeddedPkg/Library/PrePiHobLib/Hob.c b/EmbeddedPkg/Library/PrePiHobLib/Hob.c > index aff532259ef4..aff8ea05797b 100644 > --- a/EmbeddedPkg/Library/PrePiHobLib/Hob.c > +++ b/EmbeddedPkg/Library/PrePiHobLib/Hob.c > @@ -1,6 +1,7 @@ > /** @file > > Copyright (c) 2010, Apple Inc. All rights reserved.<BR> > + Copyright (c) 2017, Intel Corporation. All rights reserved.<BR> > > This program and the accompanying materials > are licensed and made available under the terms and conditions of the BSD License > @@ -601,7 +602,50 @@ BuildFv2Hob ( > 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. > -- > 2.13.3.windows.1 > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH V2 1/2] EmbeddedPkg PrePiHobLib: Implement BuildFv3Hob 2017-10-05 8:40 ` Ard Biesheuvel @ 2017-10-05 12:50 ` Zeng, Star 0 siblings, 0 replies; 5+ messages in thread From: Zeng, Star @ 2017-10-05 12:50 UTC (permalink / raw) To: Ard Biesheuvel Cc: edk2-devel@lists.01.org, Leif Lindholm, Laszlo Ersek, Gao, Liming, Zeng, Star Ard, Thanks for the RB. :) Star -----Original Message----- From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org] Sent: Thursday, October 5, 2017 4:41 PM To: Zeng, Star <star.zeng@intel.com> Cc: edk2-devel@lists.01.org; Leif Lindholm <leif.lindholm@linaro.org>; Laszlo Ersek <lersek@redhat.com>; Gao, Liming <liming.gao@intel.com> Subject: Re: [PATCH V2 1/2] EmbeddedPkg PrePiHobLib: Implement BuildFv3Hob On 5 October 2017 at 09:21, Star Zeng <star.zeng@intel.com> wrote: > 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> > --- > EmbeddedPkg/Library/PrePiHobLib/Hob.c | 44 > +++++++++++++++++++++++++++++++++++ > 1 file changed, 44 insertions(+) > > diff --git a/EmbeddedPkg/Library/PrePiHobLib/Hob.c > b/EmbeddedPkg/Library/PrePiHobLib/Hob.c > index aff532259ef4..aff8ea05797b 100644 > --- a/EmbeddedPkg/Library/PrePiHobLib/Hob.c > +++ b/EmbeddedPkg/Library/PrePiHobLib/Hob.c > @@ -1,6 +1,7 @@ > /** @file > > Copyright (c) 2010, Apple Inc. All rights reserved.<BR> > + Copyright (c) 2017, Intel Corporation. All rights reserved.<BR> > > This program and the accompanying materials > are licensed and made available under the terms and conditions of > the BSD License @@ -601,7 +602,50 @@ BuildFv2Hob ( > 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. > -- > 2.13.3.windows.1 > ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH V2 2/2] ArmVirtPkg ArmVirtDxeHobLib: Implement BuildFv3Hob 2017-10-05 8:21 [PATCH V2 0/2] Implement BuildFv3Hob for PrePiHobLib and ArmVirtDxeHobLib Star Zeng 2017-10-05 8:21 ` [PATCH V2 1/2] EmbeddedPkg PrePiHobLib: Implement BuildFv3Hob Star Zeng @ 2017-10-05 8:21 ` Star Zeng 1 sibling, 0 replies; 5+ messages in thread From: Star Zeng @ 2017-10-05 8:21 UTC (permalink / raw) To: edk2-devel; +Cc: Star Zeng, Ard Biesheuvel, Laszlo Ersek, Liming Gao 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: Laszlo Ersek <lersek@redhat.com> --- ArmVirtPkg/Library/ArmVirtDxeHobLib/HobLib.c | 36 +++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/ArmVirtPkg/Library/ArmVirtDxeHobLib/HobLib.c b/ArmVirtPkg/Library/ArmVirtDxeHobLib/HobLib.c index 9e617b8e6991..73a0fbd8a4da 100644 --- a/ArmVirtPkg/Library/ArmVirtDxeHobLib/HobLib.c +++ b/ArmVirtPkg/Library/ArmVirtDxeHobLib/HobLib.c @@ -1,7 +1,7 @@ /** @file HOB Library implemenation for Dxe Phase with DebugLib dependency removed -Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR> Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR> This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -442,6 +442,40 @@ BuildFv2Hob ( ASSERT (FALSE); } +/** + 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(). + If the FvImage buffer is not at its required alignment, 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 + ) +{ + ASSERT (FALSE); +} /** Builds a Capsule Volume HOB. -- 2.13.3.windows.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-10-05 12:47 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-10-05 8:21 [PATCH V2 0/2] Implement BuildFv3Hob for PrePiHobLib and ArmVirtDxeHobLib Star Zeng 2017-10-05 8:21 ` [PATCH V2 1/2] EmbeddedPkg PrePiHobLib: Implement BuildFv3Hob Star Zeng 2017-10-05 8:40 ` Ard Biesheuvel 2017-10-05 12:50 ` Zeng, Star 2017-10-05 8:21 ` [PATCH V2 2/2] ArmVirtPkg ArmVirtDxeHobLib: " Star Zeng
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox