From nobody Wed Dec 25 14:41:15 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 150712689010480.68938475460368; Wed, 4 Oct 2017 07:21:30 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 7083A21CF58C4; Wed, 4 Oct 2017 07:18:06 -0700 (PDT) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 3ACAE21CF58BA for ; Wed, 4 Oct 2017 07:18:05 -0700 (PDT) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP; 04 Oct 2017 07:21:26 -0700 Received: from lzeng14-mobl2.ccr.corp.intel.com ([10.255.31.253]) by fmsmga001.fm.intel.com with ESMTP; 04 Oct 2017 07:21:25 -0700 X-Original-To: edk2-devel@lists.01.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.43; helo=mga05.intel.com; envelope-from=star.zeng@intel.com; receiver=edk2-devel@lists.01.org X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,477,1500966000"; d="scan'208";a="1202141480" From: Star Zeng To: edk2-devel@lists.01.org Date: Wed, 4 Oct 2017 22:21:17 +0800 Message-Id: <20171004142121.7404-2-star.zeng@intel.com> X-Mailer: git-send-email 2.13.3.windows.1 In-Reply-To: <20171004142121.7404-1-star.zeng@intel.com> References: <20171004142121.7404-1-star.zeng@intel.com> Subject: [edk2] [PATCH 1/5] MdePkg PiHob.h: Add FV3 HOB definitions X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Liming Gao , Star Zeng MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Follow PI 1.6 spec to add FV3 HOB definitions Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng Reviewed-by: Liming Gao --- MdePkg/Include/Pi/PiHob.h | 43 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/MdePkg/Include/Pi/PiHob.h b/MdePkg/Include/Pi/PiHob.h index 29467e79d59c..4c90998bc03c 100644 --- a/MdePkg/Include/Pi/PiHob.h +++ b/MdePkg/Include/Pi/PiHob.h @@ -1,7 +1,7 @@ /** @file HOB related definitions in PI. =20 -Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made availabl= e under the terms and conditions of the BSD License that accompanies this distribu= tion. The full text of the license may be found at @@ -11,7 +11,7 @@ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "A= S IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLI= ED. =20 @par Revision Reference: - PI Version 1.4a + PI Version 1.6 =20 **/ =20 @@ -31,6 +31,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER= EXPRESS OR IMPLIED. #define EFI_HOB_TYPE_FV2 0x0009 #define EFI_HOB_TYPE_LOAD_PEIM_UNUSED 0x000A #define EFI_HOB_TYPE_UEFI_CAPSULE 0x000B +#define EFI_HOB_TYPE_FV3 0x000C #define EFI_HOB_TYPE_UNUSED 0xFFFE #define EFI_HOB_TYPE_END_OF_HOB_LIST 0xFFFF =20 @@ -399,6 +400,43 @@ typedef struct { EFI_GUID FileName; } EFI_HOB_FIRMWARE_VOLUME2; =20 +/// +/// Details the location of a firmware volume that was extracted +/// from a file within another firmware volume. +/// +typedef struct { + /// + /// The HOB generic header. Header.HobType =3D EFI_HOB_TYPE_FV3. + /// + EFI_HOB_GENERIC_HEADER Header; + /// + /// The physical memory-mapped base address of the firmware volume. + /// + EFI_PHYSICAL_ADDRESS BaseAddress; + /// + /// The length in bytes of the firmware volume. + /// + UINT64 Length; + /// + /// The authentication status. + /// + UINT32 AuthenticationStatus; + /// + /// TRUE if the FV was extracted as a file within another firmware volum= e. + /// FALSE otherwise. + /// + BOOLEAN ExtractedFv; + /// + /// The name of the firmware volume. + /// Valid only if IsExtractedFv is TRUE. + /// + EFI_GUID FvName; + /// + /// The name of the firmware file that contained this firmware volume. + /// Valid only if IsExtractedFv is TRUE. + /// + EFI_GUID FileName; +} EFI_HOB_FIRMWARE_VOLUME3; =20 /// /// Describes processor information, such as address space and I/O space c= apabilities. @@ -469,6 +507,7 @@ typedef union { EFI_HOB_GUID_TYPE *Guid; EFI_HOB_FIRMWARE_VOLUME *FirmwareVolume; EFI_HOB_FIRMWARE_VOLUME2 *FirmwareVolume2; + EFI_HOB_FIRMWARE_VOLUME3 *FirmwareVolume3; EFI_HOB_CPU *Cpu; EFI_HOB_MEMORY_POOL *Pool; EFI_HOB_UEFI_CAPSULE *Capsule; --=20 2.13.3.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel From nobody Wed Dec 25 14:41:15 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1507126892793904.8134464957282; Wed, 4 Oct 2017 07:21:32 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id AF8BD21CF58C8; Wed, 4 Oct 2017 07:18:07 -0700 (PDT) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id D670C21CF58C1 for ; Wed, 4 Oct 2017 07:18:06 -0700 (PDT) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP; 04 Oct 2017 07:21:28 -0700 Received: from lzeng14-mobl2.ccr.corp.intel.com ([10.255.31.253]) by fmsmga001.fm.intel.com with ESMTP; 04 Oct 2017 07:21:26 -0700 X-Original-To: edk2-devel@lists.01.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.43; helo=mga05.intel.com; envelope-from=star.zeng@intel.com; receiver=edk2-devel@lists.01.org X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,477,1500966000"; d="scan'208";a="1202141488" From: Star Zeng To: edk2-devel@lists.01.org Date: Wed, 4 Oct 2017 22:21:18 +0800 Message-Id: <20171004142121.7404-3-star.zeng@intel.com> X-Mailer: git-send-email 2.13.3.windows.1 In-Reply-To: <20171004142121.7404-1-star.zeng@intel.com> References: <20171004142121.7404-1-star.zeng@intel.com> Subject: [edk2] [PATCH 2/5] MdePkg HobLib: Add BuildFv3Hob API X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Liming Gao , Star Zeng MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Add BuildFv3Hob API in HobLib.h and implement the API in HobLib instances PeiHobLib, DxeHobLib and DxeCoreHobLib. Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng Reviewed-by: Liming Gao --- MdePkg/Include/Library/HobLib.h | 34 ++++++++++++++++++++-- MdePkg/Library/DxeCoreHobLib/HobLib.c | 35 ++++++++++++++++++++++- MdePkg/Library/DxeHobLib/HobLib.c | 32 +++++++++++++++++++++ MdePkg/Library/PeiHobLib/HobLib.c | 54 +++++++++++++++++++++++++++++++= +++- 4 files changed, 151 insertions(+), 4 deletions(-) diff --git a/MdePkg/Include/Library/HobLib.h b/MdePkg/Include/Library/HobLi= b.h index fc48703826c5..6f1f7b3f5f20 100644 --- a/MdePkg/Include/Library/HobLib.h +++ b/MdePkg/Include/Library/HobLib.h @@ -6,9 +6,9 @@ defined in the PI Specification. A HOB is a Hand-Off Block, defined in the Framework architecture, that allows the PEI phase to pass information to the DXE phase. HOBs are posi= tion - independent and can be relocated easily to different memory memory locat= ions. + independent and can be relocated easily to different memory locations. =20 -Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD = License which accompanies this distribution. The full text of the license may be = found at @@ -343,6 +343,36 @@ BuildFv2Hob ( ); =20 /** + 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 wit= hin another firmware volume. + FALSE otherwise. + @param FvName The name of the Firmware Volume. Valid onl= y if IsExtractedFv is TRUE + @param FileName The name of the file. Valid only if IsExtr= actedFv 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 + ); + +/** Builds a Capsule Volume HOB. =20 This function builds a Capsule Volume HOB. diff --git a/MdePkg/Library/DxeCoreHobLib/HobLib.c b/MdePkg/Library/DxeCore= HobLib/HobLib.c index 2e5fb1c6ee55..2f4f4b473386 100644 --- a/MdePkg/Library/DxeCoreHobLib/HobLib.c +++ b/MdePkg/Library/DxeCoreHobLib/HobLib.c @@ -1,7 +1,7 @@ /** @file HOB Library implementation for DxeCore driver. =20 -Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD = License which accompanies this distribution. The full text of the license may be = found at @@ -433,6 +433,39 @@ BuildFv2Hob ( } =20 /** + 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 wit= hin another firmware volume. + FALSE otherwise. + @param FvName The name of the Firmware Volume. Valid onl= y if IsExtractedFv is TRUE + @param FileName The name of the file. Valid only if IsExtr= actedFv 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. =20 This function builds a Capsule Volume HOB. diff --git a/MdePkg/Library/DxeHobLib/HobLib.c b/MdePkg/Library/DxeHobLib/H= obLib.c index bb65206b044a..dac593d5da9d 100644 --- a/MdePkg/Library/DxeHobLib/HobLib.c +++ b/MdePkg/Library/DxeHobLib/HobLib.c @@ -466,6 +466,38 @@ BuildFv2Hob ( ASSERT (FALSE); } =20 +/** + 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 wit= hin another firmware volume. + FALSE otherwise. + @param FvName The name of the Firmware Volume. Valid onl= y if IsExtractedFv is TRUE + @param FileName The name of the file. Valid only if IsExtr= actedFv 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); +} =20 /** Builds a Capsule Volume HOB. diff --git a/MdePkg/Library/PeiHobLib/HobLib.c b/MdePkg/Library/PeiHobLib/H= obLib.c index a1522dd9f5ff..68df7292a7ec 100644 --- a/MdePkg/Library/PeiHobLib/HobLib.c +++ b/MdePkg/Library/PeiHobLib/HobLib.c @@ -1,7 +1,7 @@ /** @file Provide Hob Library functions for Pei phase. =20 -Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.
+Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD = License which accompanies this distribution. The full text of the license may be = found at @@ -610,6 +610,58 @@ BuildFv2Hob ( } =20 /** + 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 wit= hin another firmware volume. + FALSE otherwise. + @param FvName The name of the Firmware Volume. Valid onl= y if IsExtractedFv is TRUE + @param FileName The name of the file. Valid only if IsExtr= actedFv 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; + + if (!InternalCheckFvAlignment (BaseAddress, Length)) { + ASSERT (FALSE); + return; + } + + Hob =3D InternalPeiCreateHob (EFI_HOB_TYPE_FV3, (UINT16) sizeof (EFI_HOB= _FIRMWARE_VOLUME3)); + if (Hob =3D=3D NULL) { + return; + } + + Hob->BaseAddress =3D BaseAddress; + Hob->Length =3D Length; + Hob->AuthenticationStatus =3D AuthenticationStatus; + Hob->ExtractedFv =3D ExtractedFv; + if (ExtractedFv) { + CopyGuid (&Hob->FvName, FvName); + CopyGuid (&Hob->FileName, FileName); + } +} + +/** Builds a Capsule Volume HOB. =20 This function builds a Capsule Volume HOB. --=20 2.13.3.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel From nobody Wed Dec 25 14:41:15 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1507126895713118.86628648098406; Wed, 4 Oct 2017 07:21:35 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id EE3AD21CF58CB; Wed, 4 Oct 2017 07:18:09 -0700 (PDT) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 490F221CF58C1 for ; Wed, 4 Oct 2017 07:18:08 -0700 (PDT) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP; 04 Oct 2017 07:21:29 -0700 Received: from lzeng14-mobl2.ccr.corp.intel.com ([10.255.31.253]) by fmsmga001.fm.intel.com with ESMTP; 04 Oct 2017 07:21:28 -0700 X-Original-To: edk2-devel@lists.01.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.43; helo=mga05.intel.com; envelope-from=star.zeng@intel.com; receiver=edk2-devel@lists.01.org X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,477,1500966000"; d="scan'208";a="1202141495" From: Star Zeng To: edk2-devel@lists.01.org Date: Wed, 4 Oct 2017 22:21:19 +0800 Message-Id: <20171004142121.7404-4-star.zeng@intel.com> X-Mailer: git-send-email 2.13.3.windows.1 In-Reply-To: <20171004142121.7404-1-star.zeng@intel.com> References: <20171004142121.7404-1-star.zeng@intel.com> Subject: [edk2] [PATCH 3/5] IntelFrameworkPkg PeiHobLibFramework: Implement BuildFv3Hob X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Liming Gao , Star Zeng MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng Reviewed-by: Liming Gao --- .../Library/PeiHobLibFramework/HobLib.c | 54 ++++++++++++++++++= +++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/IntelFrameworkPkg/Library/PeiHobLibFramework/HobLib.c b/IntelF= rameworkPkg/Library/PeiHobLibFramework/HobLib.c index 223e56a9db12..c7e6d4b75aba 100644 --- a/IntelFrameworkPkg/Library/PeiHobLibFramework/HobLib.c +++ b/IntelFrameworkPkg/Library/PeiHobLibFramework/HobLib.c @@ -5,7 +5,7 @@ This library instance uses EFI_HOB_TYPE_CV defined in Intel framework HOB= specification v0.9 to implement HobLib BuildCvHob() API.=20 =20 -Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.
+Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD = License which accompanies this distribution. The full text of the license may be = found at @@ -612,6 +612,58 @@ BuildFv2Hob ( } =20 /** + 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 wit= hin another firmware volume. + FALSE otherwise. + @param FvName The name of the Firmware Volume. Valid onl= y if IsExtractedFv is TRUE + @param FileName The name of the file. Valid only if IsExtr= actedFv 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; + + if (!InternalCheckFvAlignment (BaseAddress, Length)) { + ASSERT (FALSE); + return; + } + + Hob =3D InternalPeiCreateHob (EFI_HOB_TYPE_FV3, (UINT16) sizeof (EFI_HOB= _FIRMWARE_VOLUME3)); + if (Hob =3D=3D NULL) { + return; + } + + Hob->BaseAddress =3D BaseAddress; + Hob->Length =3D Length; + Hob->AuthenticationStatus =3D AuthenticationStatus; + Hob->ExtractedFv =3D ExtractedFv; + if (ExtractedFv) { + CopyGuid (&Hob->FvName, FvName); + CopyGuid (&Hob->FileName, FileName); + } +} + +/** Builds a Capsule Volume HOB. =20 This function builds a Capsule Volume HOB. --=20 2.13.3.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel From nobody Wed Dec 25 14:41:15 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1507126898782484.0092600162866; Wed, 4 Oct 2017 07:21:38 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 3638421CF58C1; Wed, 4 Oct 2017 07:18:12 -0700 (PDT) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id E00A121CF58BD for ; Wed, 4 Oct 2017 07:18:09 -0700 (PDT) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP; 04 Oct 2017 07:21:31 -0700 Received: from lzeng14-mobl2.ccr.corp.intel.com ([10.255.31.253]) by fmsmga001.fm.intel.com with ESMTP; 04 Oct 2017 07:21:29 -0700 X-Original-To: edk2-devel@lists.01.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.43; helo=mga05.intel.com; envelope-from=star.zeng@intel.com; receiver=edk2-devel@lists.01.org X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,477,1500966000"; d="scan'208";a="1202141500" From: Star Zeng To: edk2-devel@lists.01.org Date: Wed, 4 Oct 2017 22:21:20 +0800 Message-Id: <20171004142121.7404-5-star.zeng@intel.com> X-Mailer: git-send-email 2.13.3.windows.1 In-Reply-To: <20171004142121.7404-1-star.zeng@intel.com> References: <20171004142121.7404-1-star.zeng@intel.com> Subject: [edk2] [PATCH 4/5] MdeModulePkg Core: Propagate PEI-phase FV authentication status to DXE X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Liming Gao , Star Zeng MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" FV3 HOB was introduced by new (>=3D 1.5) PI spec, it is intended to be used to propagate PEI-phase FV authentication status to DXE. This patch is to update PeiCore to build FV3 HOB with the authentication status and DxeCore to get the authentication status from FV3 HOB when producing FVB Protocol. Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng Reviewed-by: Liming Gao --- MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c | 41 +++++++++++++++++++++++= +--- MdeModulePkg/Core/Dxe/FwVol/FwVol.c | 13 ++++----- MdeModulePkg/Core/Dxe/FwVolBlock/FwVolBlock.c | 23 +++++++++++---- MdeModulePkg/Core/Pei/FwVol/FwVol.c | 9 ++++++ 4 files changed, 69 insertions(+), 17 deletions(-) diff --git a/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c b/MdeModulePkg/Core/Dx= e/DxeMain/DxeMain.c index 91e94a78d205..433cca3a800c 100644 --- a/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c +++ b/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c @@ -380,10 +380,43 @@ DxeMain ( } } for (Hob.Raw =3D HobStart; !END_OF_HOB_LIST(Hob); Hob.Raw =3D GET_NEXT= _HOB(Hob)) { - if (GET_HOB_TYPE (Hob) =3D=3D EFI_HOB_TYPE_FV2) { - DEBUG ((DEBUG_INFO | DEBUG_LOAD, "FV2 Hob 0x%0lx - 0x%0l= x\n", Hob.FirmwareVolume2->BaseAddress, Hob.FirmwareVolume2->BaseAddress + = Hob.FirmwareVolume2->Length - 1)); - } else if (GET_HOB_TYPE (Hob) =3D=3D EFI_HOB_TYPE_FV) { - DEBUG ((DEBUG_INFO | DEBUG_LOAD, "FV Hob 0x%0lx - 0x%0l= x\n", Hob.FirmwareVolume->BaseAddress, Hob.FirmwareVolume->BaseAddress + Ho= b.FirmwareVolume->Length - 1)); + if (GET_HOB_TYPE (Hob) =3D=3D EFI_HOB_TYPE_FV) { + DEBUG (( + DEBUG_INFO | DEBUG_LOAD, + "FV Hob 0x%0lx - 0x%0lx\n", + Hob.FirmwareVolume->BaseAddress, + Hob.FirmwareVolume->BaseAddress + Hob.FirmwareVolume->Length - 1 + )); + } else if (GET_HOB_TYPE (Hob) =3D=3D EFI_HOB_TYPE_FV2) { + DEBUG (( + DEBUG_INFO | DEBUG_LOAD, + "FV2 Hob 0x%0lx - 0x%0lx\n", + Hob.FirmwareVolume2->BaseAddress, + Hob.FirmwareVolume2->BaseAddress + Hob.FirmwareVolume2->Length -= 1 + )); + DEBUG (( + DEBUG_INFO | DEBUG_LOAD, + " %g - %g\n", + &Hob.FirmwareVolume2->FvName, + &Hob.FirmwareVolume2->FileName + )); + } else if (GET_HOB_TYPE (Hob) =3D=3D EFI_HOB_TYPE_FV3) { + DEBUG (( + DEBUG_INFO | DEBUG_LOAD, + "FV3 Hob 0x%0lx - 0x%0lx - 0x%x - 0x%x\n", + Hob.FirmwareVolume3->BaseAddress, + Hob.FirmwareVolume3->BaseAddress + Hob.FirmwareVolume3->Length -= 1, + Hob.FirmwareVolume3->AuthenticationStatus, + Hob.FirmwareVolume3->ExtractedFv + )); + if (Hob.FirmwareVolume3->ExtractedFv) { + DEBUG (( + DEBUG_INFO | DEBUG_LOAD, + " %g - %g\n", + &Hob.FirmwareVolume3->FvName, + &Hob.FirmwareVolume3->FileName + )); + } } } DEBUG_CODE_END (); diff --git a/MdeModulePkg/Core/Dxe/FwVol/FwVol.c b/MdeModulePkg/Core/Dxe/Fw= Vol/FwVol.c index fe12d6e0ac30..2f5867b59d90 100644 --- a/MdeModulePkg/Core/Dxe/FwVol/FwVol.c +++ b/MdeModulePkg/Core/Dxe/FwVol/FwVol.c @@ -3,7 +3,7 @@ Layers on top of Firmware Block protocol to produce a file abstraction of FV based files. =20 -Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD = License which accompanies this distribution. The full text of the license may be = found at @@ -711,13 +711,10 @@ NotifyFwVolBlock ( FvDevice->FwVolHeader =3D FwVolHeader; FvDevice->IsFfs3Fv =3D CompareGuid (&FwVolHeader->FileSystemG= uid, &gEfiFirmwareFileSystem3Guid); FvDevice->Fv.ParentHandle =3D Fvb->ParentHandle; - - if (Fvb->ParentHandle !=3D NULL) { - // - // Inherit the authentication status from FVB. - // - FvDevice->AuthenticationStatus =3D GetFvbAuthenticationStatus (Fvb= ); - } + // + // Inherit the authentication status from FVB. + // + FvDevice->AuthenticationStatus =3D GetFvbAuthenticationStatus (Fvb); =20 if (!EFI_ERROR (FvCheck (FvDevice))) { // diff --git a/MdeModulePkg/Core/Dxe/FwVolBlock/FwVolBlock.c b/MdeModulePkg/C= ore/Dxe/FwVolBlock/FwVolBlock.c index bc7b34140f84..f7fb18ae15df 100644 --- a/MdeModulePkg/Core/Dxe/FwVolBlock/FwVolBlock.c +++ b/MdeModulePkg/Core/Dxe/FwVolBlock/FwVolBlock.c @@ -4,7 +4,7 @@ It consumes FV HOBs and creates read-only Firmare Volume Block protocol instances for each of them. =20 -Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD = License which accompanies this distribution. The full text of the license may be = found at @@ -517,9 +517,7 @@ ProduceFVBProtocolOnBuffer ( FvbDev->BaseAddress =3D BaseAddress; FvbDev->FvbAttributes =3D FwVolHeader->Attributes; FvbDev->FwVolBlockInstance.ParentHandle =3D ParentHandle; - if (ParentHandle !=3D NULL) { - FvbDev->AuthenticationStatus =3D AuthenticationStatus; - } + FvbDev->AuthenticationStatus =3D AuthenticationStatus; =20 // // Init the block caching fields of the device @@ -630,16 +628,31 @@ FwVolBlockDriverInit ( ) { EFI_PEI_HOB_POINTERS FvHob; + EFI_PEI_HOB_POINTERS Fv3Hob; + UINT32 AuthenticationStatus; =20 // // Core Needs Firmware Volumes to function // FvHob.Raw =3D GetHobList (); while ((FvHob.Raw =3D GetNextHob (EFI_HOB_TYPE_FV, FvHob.Raw)) !=3D NULL= ) { + AuthenticationStatus =3D 0; + // + // Get the authentication status propagated from PEI-phase to DXE. + // + Fv3Hob.Raw =3D GetHobList (); + while ((Fv3Hob.Raw =3D GetNextHob (EFI_HOB_TYPE_FV3, Fv3Hob.Raw)) !=3D= NULL) { + if ((Fv3Hob.FirmwareVolume3->BaseAddress =3D=3D FvHob.FirmwareVolume= ->BaseAddress) && + (Fv3Hob.FirmwareVolume3->Length =3D=3D FvHob.FirmwareVolume->Len= gth)) { + AuthenticationStatus =3D Fv3Hob.FirmwareVolume3->AuthenticationSta= tus; + break; + } + Fv3Hob.Raw =3D GET_NEXT_HOB (Fv3Hob); + } // // Produce an FVB protocol for it // - ProduceFVBProtocolOnBuffer (FvHob.FirmwareVolume->BaseAddress, FvHob.F= irmwareVolume->Length, NULL, 0, NULL); + ProduceFVBProtocolOnBuffer (FvHob.FirmwareVolume->BaseAddress, FvHob.F= irmwareVolume->Length, NULL, AuthenticationStatus, NULL); FvHob.Raw =3D GET_NEXT_HOB (FvHob); } =20 diff --git a/MdeModulePkg/Core/Pei/FwVol/FwVol.c b/MdeModulePkg/Core/Pei/Fw= Vol/FwVol.c index c90a70b5f799..f3f93ac1a3af 100644 --- a/MdeModulePkg/Core/Pei/FwVol/FwVol.c +++ b/MdeModulePkg/Core/Pei/FwVol/FwVol.c @@ -1452,6 +1452,15 @@ ProcessFvFile ( &FileInfo.FileName ); =20 + BuildFv3Hob ( + (EFI_PHYSICAL_ADDRESS) (UINTN) FvHeader, + FvHeader->FvLength, + AuthenticationStatus, + TRUE, + &ParentFvImageInfo.FvName, + &FileInfo.FileName + ); + return EFI_SUCCESS; } =20 --=20 2.13.3.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel From nobody Wed Dec 25 14:41:15 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1507126902159495.21644148513883; Wed, 4 Oct 2017 07:21:42 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 73DBB21CF58CF; Wed, 4 Oct 2017 07:18:14 -0700 (PDT) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 59A0F21CF58BA for ; Wed, 4 Oct 2017 07:18:11 -0700 (PDT) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP; 04 Oct 2017 07:21:32 -0700 Received: from lzeng14-mobl2.ccr.corp.intel.com ([10.255.31.253]) by fmsmga001.fm.intel.com with ESMTP; 04 Oct 2017 07:21:31 -0700 X-Original-To: edk2-devel@lists.01.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.43; helo=mga05.intel.com; envelope-from=star.zeng@intel.com; receiver=edk2-devel@lists.01.org X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,477,1500966000"; d="scan'208";a="1202141509" From: Star Zeng To: edk2-devel@lists.01.org Date: Wed, 4 Oct 2017 22:21:21 +0800 Message-Id: <20171004142121.7404-6-star.zeng@intel.com> X-Mailer: git-send-email 2.13.3.windows.1 In-Reply-To: <20171004142121.7404-1-star.zeng@intel.com> References: <20171004142121.7404-1-star.zeng@intel.com> Subject: [edk2] [PATCH 5/5] IntelFrameworkModulePkg FwVolDxe: Get FV auth status propagated from PEI X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Liming Gao , Star Zeng MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" FV3 HOB was introduced by new (>=3D 1.5) PI spec, it is intended to be used to propagate PEI-phase FV authentication status to DXE. This patch is to update FwVolDxe to get the authentication status propagated from PEI-phase to DXE by FV3 HOB when producing FV protocol. Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng Reviewed-by: Liming Gao --- .../Universal/FirmwareVolume/FwVolDxe/FwVol.c | 73 ++++++++++++++++--= ---- .../FirmwareVolume/FwVolDxe/FwVolDriver.h | 3 +- .../Universal/FirmwareVolume/FwVolDxe/FwVolDxe.inf | 4 +- 3 files changed, 57 insertions(+), 23 deletions(-) diff --git a/IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVo= l.c b/IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVol.c index 65a292db6b91..91fcd4721244 100644 --- a/IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVol.c +++ b/IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVol.c @@ -4,7 +4,7 @@ Layers on top of Firmware Block protocol to produce a file abstraction of FV based files. =20 - Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
+ Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
=20 This program and the accompanying materials are licensed and made available under the terms and conditions @@ -195,7 +195,7 @@ FreeFvDeviceResource ( /** =20 Firmware volume inherits authentication status from the FV image file an= d section(in another firmware volume) - where it came from. + where it came from or propagated from PEI-phase. =20 @param FvDevice A pointer to the FvDevice. =20 @@ -205,26 +205,30 @@ FwVolInheritAuthenticationStatus ( IN FV_DEVICE *FvDevice ) { - EFI_STATUS Status; - EFI_FIRMWARE_VOLUME_HEADER *CachedFvHeader; - EFI_FIRMWARE_VOLUME_EXT_HEADER *CachedFvExtHeader; - EFI_FIRMWARE_VOLUME2_PROTOCOL *ParentFvProtocol; - UINTN Key; - EFI_GUID FileNameGuid; - EFI_FV_FILETYPE FileType; - EFI_FV_FILE_ATTRIBUTES FileAttributes; - UINTN FileSize; - EFI_SECTION_TYPE SectionType; - UINT32 AuthenticationStatus; - EFI_FIRMWARE_VOLUME_HEADER *FvHeader; - EFI_FIRMWARE_VOLUME_EXT_HEADER *FvExtHeader; - UINTN BufferSize; - - CachedFvHeader =3D (EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) FvDevice->Cach= edFv; + EFI_STATUS Status; + EFI_FIRMWARE_VOLUME_HEADER *CachedFvHeader; + EFI_FIRMWARE_VOLUME_EXT_HEADER *CachedFvExtHeader; + EFI_FIRMWARE_VOLUME2_PROTOCOL *ParentFvProtocol; + UINTN Key; + EFI_GUID FileNameGuid; + EFI_FV_FILETYPE FileType; + EFI_FV_FILE_ATTRIBUTES FileAttributes; + UINTN FileSize; + EFI_SECTION_TYPE SectionType; + UINT32 AuthenticationStatus; + EFI_FIRMWARE_VOLUME_HEADER *FvHeader; + EFI_FIRMWARE_VOLUME_EXT_HEADER *FvExtHeader; + UINTN BufferSize; + EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *Fvb; + EFI_FVB_ATTRIBUTES_2 FvbAttributes; + EFI_PHYSICAL_ADDRESS BaseAddress; + EFI_PEI_HOB_POINTERS Fv3Hob; =20 if (FvDevice->Fv.ParentHandle !=3D NULL) { + CachedFvHeader =3D (EFI_FIRMWARE_VOLUME_HEADER *) (UINTN) FvDevice->Ca= chedFv; + // - // By Parent Handle, find out the FV image file and section(in another= firmware volume) where the firmware volume came from=20 + // By Parent Handle, find out the FV image file and section(in another= firmware volume) where the firmware volume came from // Status =3D gBS->HandleProtocol (FvDevice->Fv.ParentHandle, &gEfiFirmwa= reVolume2ProtocolGuid, (VOID **) &ParentFvProtocol); if (!EFI_ERROR (Status) && (ParentFvProtocol !=3D NULL)) { @@ -258,7 +262,7 @@ FwVolInheritAuthenticationStatus ( if (!EFI_ERROR (Status)) { if ((FvHeader->FvLength =3D=3D CachedFvHeader->FvLength) && (FvHeader->ExtHeaderOffset =3D=3D CachedFvHeader->ExtHeaderO= ffset)) { - if (FvHeader->ExtHeaderOffset !=3D0) { + if (FvHeader->ExtHeaderOffset !=3D 0) { // // Both FVs contain extension header, then compare their FV = Name GUID // @@ -292,6 +296,35 @@ FwVolInheritAuthenticationStatus ( } } while (TRUE); } + } else { + Fvb =3D FvDevice->Fvb; + + Status =3D Fvb->GetAttributes (Fvb, &FvbAttributes); + if (EFI_ERROR (Status)) { + return; + } + + if ((FvbAttributes & EFI_FVB2_MEMORY_MAPPED) !=3D 0) { + // + // Get volume base address + // + Status =3D Fvb->GetPhysicalAddress (Fvb, &BaseAddress); + if (EFI_ERROR (Status)) { + return; + } + + // + // Get the authentication status propagated from PEI-phase to DXE. + // + Fv3Hob.Raw =3D GetHobList (); + while ((Fv3Hob.Raw =3D GetNextHob (EFI_HOB_TYPE_FV3, Fv3Hob.Raw)) != =3D NULL) { + if (Fv3Hob.FirmwareVolume3->BaseAddress =3D=3D BaseAddress) { + FvDevice->AuthenticationStatus =3D Fv3Hob.FirmwareVolume3->Authe= nticationStatus; + return; + } + Fv3Hob.Raw =3D GET_NEXT_HOB (Fv3Hob); + } + } } } =20 diff --git a/IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVo= lDriver.h b/IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVol= Driver.h index b1646dd39edf..b14a488ead88 100644 --- a/IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVolDriver= .h +++ b/IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVolDriver= .h @@ -1,7 +1,7 @@ /** @file Common defines and definitions for a FwVolDxe driver. =20 - Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.
+ Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
=20 This program and the accompanying materials are licensed and made available under the terms and conditions @@ -33,6 +33,7 @@ #include #include #include +#include =20 #define FV_DEVICE_SIGNATURE SIGNATURE_32 ('_', 'F', 'V', '_') =20 diff --git a/IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVo= lDxe.inf b/IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVolD= xe.inf index 057266bb2b68..6844afb063e7 100644 --- a/IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVolDxe.inf +++ b/IntelFrameworkModulePkg/Universal/FirmwareVolume/FwVolDxe/FwVolDxe.inf @@ -4,7 +4,7 @@ # This driver produces Firmware Volume2 protocol with full services # (read/write, get/set) based on Firmware Volume Block protocol. # -# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.
# # This program and the accompanying materials are # licensed and made available under the terms and conditions of the BSD Li= cense @@ -55,7 +55,7 @@ [LibraryClasses] UefiLib UefiDriverEntryPoint DebugLib - + HobLib =20 [Guids] gEfiFirmwareVolumeTopFileGuid ## CONSUMES ## File # VTF f= ile --=20 2.13.3.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel