From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) (using TLSv1 with cipher CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 2CE331A1E31 for ; Tue, 25 Oct 2016 18:18:14 -0700 (PDT) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP; 25 Oct 2016 18:18:13 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,548,1473145200"; d="scan'208,217";a="777699448" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by FMSMGA003.fm.intel.com with ESMTP; 25 Oct 2016 18:18:14 -0700 Received: from fmsmsx115.amr.corp.intel.com (10.18.116.19) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.248.2; Tue, 25 Oct 2016 18:18:13 -0700 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by fmsmsx115.amr.corp.intel.com (10.18.116.19) with Microsoft SMTP Server (TLS) id 14.3.248.2; Tue, 25 Oct 2016 18:18:12 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.206]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.104]) with mapi id 14.03.0248.002; Wed, 26 Oct 2016 09:18:10 +0800 From: "Yao, Jiewen" To: "Zhu, Yonghong" , "Kinney, Michael D" , "edk2-devel@lists.01.org" CC: "Tian, Feng" , "Zhang, Chao B" , "Gao, Liming" , "Zeng, Star" Thread-Topic: [PATCH V4 06/12] SignedCapsulePkg/CapsulePkg.dec: Add capsule related definition. Thread-Index: AQHSLxGOY/Wc/q3iqkKd8xmucV9Yc6C51osQ//+MnICAAIgsgP//fcGAgACGV1A= Date: Wed, 26 Oct 2016 01:18:09 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C50386B7488@shsmsx102.ccr.corp.intel.com> References: <1477189323-3312-1-git-send-email-jiewen.yao@intel.com> <1477189323-3312-7-git-send-email-jiewen.yao@intel.com> <74D8A39837DF1E4DA445A8C0B3885C50386B72D7@shsmsx102.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C50386B744B@shsmsx102.ccr.corp.intel.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.21 Subject: Re: [PATCH V4 06/12] SignedCapsulePkg/CapsulePkg.dec: Add capsule related definition. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Oct 2016 01:18:14 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Got it. Thanks. I will use {0x0}. From: Zhu, Yonghong Sent: Wednesday, October 26, 2016 9:17 AM To: Yao, Jiewen ; Kinney, Michael D ; edk2-devel@lists.01.org Cc: Tian, Feng ; Zhang, Chao B ; Gao, Liming ; Zeng, Star ; Zh= u, Yonghong Subject: RE: [PATCH V4 06/12] SignedCapsulePkg/CapsulePkg.dec: Add capsule = related definition. The bug 159 is {0} not support, Build tool crash, We should report reasonab= le error message for {0}. Maybe you BaseTools is not latest which not report error for {0}. Recently = I pushed a patch to support PCD value to use expression in the DEC file whi= ch may detect the error for {0}. Best Regards, Zhu Yonghong From: Yao, Jiewen Sent: Wednesday, October 26, 2016 9:04 AM To: Zhu, Yonghong >; = Kinney, Michael D >; edk2-devel@lists.01.org Cc: Tian, Feng >; Zhang, Ch= ao B >; Gao, Liming <= liming.gao@intel.com>; Zeng, Star > Subject: RE: [PATCH V4 06/12] SignedCapsulePkg/CapsulePkg.dec: Add capsule = related definition. I do think {0} is supported. I do not see any error reported if I use {0}. If we do not want to support {0}, I suggest we report an error to the end u= ser. Thank you Yao Jiewen From: Zhu, Yonghong Sent: Wednesday, October 26, 2016 8:56 AM To: Yao, Jiewen >; Kinney= , Michael D >= ; edk2-devel@lists.01.org Cc: Tian, Feng >; Zhang, Ch= ao B >; Gao, Liming <= liming.gao@intel.com>; Zeng, Star >; Zhu, Yonghong > Subject: RE: [PATCH V4 06/12] SignedCapsulePkg/CapsulePkg.dec: Add capsule = related definition. Per DEC spec, we only support {0x0}, not support {0} and {}. The value in= the { } must be a Hex value (start with '0x' or '0X'). I can enhance the error handling to report reasonable error message but not= this crash. There have a similar bug in Bugzilla https://bugzilla.tianocor= e.org/show_bug.cgi?id=3D159 Best Regards, Zhu Yonghong -----Original Message----- From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Yao,= Jiewen Sent: Wednesday, October 26, 2016 7:51 AM To: Kinney, Michael D >; edk2-devel@lists.01.org Cc: Tian, Feng >; Zhang, Ch= ao B >; Gao, Liming <= liming.gao@intel.com>; Zeng, Star > Subject: Re: [edk2] [PATCH V4 06/12] SignedCapsulePkg/CapsulePkg.dec: Add c= apsule related definition. Hi Mike I fixed all according to your suggestion, exception "Is the intended defaul= t value {0x0}, or is the intended default value empty {}?" I can only use {0} or {0x0}, but not {}. Build.py crash if I use {}. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D build... : error C0DE: Unknown fatal error when processing [c:\home\edkiigit\edk2\Si= gned CapsulePkg\SignedCapsulePkg.dec] (Please send email to edk2-devel@lists.01.org for help, attaching following call stack trace!) (Python 2.7.3 on win32) Traceback (most recent call last): File "build\build.py", line 2274, in Main File "build\build.py", line 2026, in Launch File "build\build.py", line 1821, in _MultiThreadBuildPlatform File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\A= utoGe n\AutoGen.py", line 176, in __new__ File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\A= utoGe n\AutoGen.py", line 547, in _Init File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\W= orksp ace\WorkspaceDatabase.py", line 767, in _GetPcds File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\W= orksp ace\WorkspaceDatabase.py", line 846, in _GetPcd File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\W= orksp ace\WorkspaceDatabase.py", line 708, in _ValidatePcd File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\W= orksp ace\WorkspaceCommon.py", line 50, in GetDeclaredPcd File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\W= orksp ace\WorkspaceDatabase.py", line 1556, in _GetPcds File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\W= orksp ace\WorkspaceDatabase.py", line 1574, in _GetPcd File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\W= orksp ace\MetaFileParser.py", line 239, in __getitem__ File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\W= orksp ace\MetaFileParser.py", line 1671, in Start File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\W= orksp ace\MetaFileParser.py", line 43, in MacroParser File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\W= orksp ace\MetaFileParser.py", line 1886, in _PcdParser File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 275, in __call__ File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 320, in _OrExpr File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 308, in _ExprFuncTemplate File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 324, in _AndExpr File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 308, in _ExprFuncTemplate File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 328, in _BitOr File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 308, in _ExprFuncTemplate File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 332, in _BitXor File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 308, in _ExprFuncTemplate File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 336, in _BitAnd File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 308, in _ExprFuncTemplate File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 340, in _EqExpr File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 356, in _RelExpr File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 308, in _ExprFuncTemplate File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 360, in _AddExpr File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 308, in _ExprFuncTemplate File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 371, in _UnaryExpr File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 375, in _IdenExpr File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 536, in _GetToken File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 495, in __GetNList File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 567, in _GetSingleToken File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 411, in __GetArray File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 495, in __GetNList File "c:\Users\Public\Documents\BuildPool\BaseTools\build\Source\Python\C= ommon \Expression.py", line 573, in _GetSingleToken BadExpression: No more valid token found from rest of string: [}]. From: Kinney, Michael D Sent: Wednesday, October 26, 2016 6:46 AM To: Yao, Jiewen >; edk2-d= evel@lists.01.org; Kinney, Michael D > Cc: Tian, Feng >; Zeng, Sta= r >; Gao, Liming >; Zhang, Chao B > Subject: RE: [PATCH V4 06/12] SignedCapsulePkg/CapsulePkg.dec: Add capsule = related definition. Jiewen, Comments included inline. Mike > -----Original Message----- > From: Yao, Jiewen > Sent: Saturday, October 22, 2016 7:22 PM > To: edk2-devel@lists.01.org> > Cc: Tian, Feng >>; > Zeng, Star >>; Kinney, > Michael D > >>; Gao, > Liming >>; Zhang, > Chao B >> > Subject: [PATCH V4 06/12] SignedCapsulePkg/CapsulePkg.dec: Add capsule > related definition. > > 1) Add capsule related GUID. > EdkiiSystemFmpCapsule > 2) Add capsule related library. > EdkiiSystemCapsuleLib > IniParsingLib > PlatformFlashAccessLib > 5) Add EDKII system capsule related DynamicEx PCD > PcdEdkiiSystemFirmwareImageDescriptor > PcdEdkiiSystemFirmwareFileGuid > NOTE: We use DynamicEx here because the update driver may be in > the capsule FMP, instead of system firmware. > The update driver MUST use the PCD info produced system firmware. > > Cc: Feng Tian >> > Cc: Star Zeng >> > Cc: Michael D Kinney > >> > Cc: Liming Gao >> > Cc: Chao Zhang >> > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Jiewen Yao > >> > Reviewed-by: Liming Gao > >> > --- > SignedCapsulePkg/SignedCapsulePkg.dec | 65 ++++++++++++++++++++ > 1 file changed, 65 insertions(+) > > diff --git a/SignedCapsulePkg/SignedCapsulePkg.dec > b/SignedCapsulePkg/SignedCapsulePkg.dec > new file mode 100644 > index 0000000..c03f70c > --- /dev/null > +++ b/SignedCapsulePkg/SignedCapsulePkg.dec > @@ -0,0 +1,65 @@ > +## @file > +# This package provides EDKII capsule related support. > +# > +# Copyright (c) 2016, 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 that accom= panies this distribution. > +# The full text of the license may be found at # > +http://opensource.org/licenses/bsd-license.php. > +# > +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" > +BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRE= SS OR IMPLIED. > +# > +## > + > + > +[Defines] > + DEC_SPECIFICATION =3D 0x00010005 > + PACKAGE_NAME =3D SignedCapsulePkg > + PACKAGE_GUID =3D 75AA5D82-7BC4-44A9-82FB-0820EBC79BE= D > + PACKAGE_VERSION =3D 0.1 > + > +[Includes] > + Include > + > +[LibraryClasses] > + ## @libraryclass Provides services for EDKII system FMP capsule. > + # > + EdkiiSystemCapsuleLib|Include/Library/EdkiiSystemCapsuleLib.h > + > + ## @libraryclass Provides services to parse the INI configuration fil= e. > + # > + IniParsingLib|Include/Library/IniParsingLib.h > + > + ## @libraryclass Provides services to access flash device. > + # > + PlatformFlashAccessLib|Include/Library/PlatformFlashAccessLib.h > + > +[Guids] > + gEfiSignedCapsulePkgTokenSpaceGuid =3D { 0xe1eb612f, 0x1c6c, 0x48= 5d, { 0x9d, 0x6, > 0x65, 0x8, 0x44, 0x88, 0x15, 0x69 }} > + > + ## Include/Guid/EdkiiSystemFmpCapsule.h > + gEdkiiSystemFirmwareImageDescriptorFileGuid =3D {0x90b2b846, 0xca6d, > + 0x4d6e, {0xa8, > 0xd3, 0xc1, 0x40, 0xa8, 0xe1, 0x10, 0xac}} > + gEdkiiSystemFmpCapsuleConfigFileGuid =3D {0x812136d3, 0x4d3a, 0= x433a, {0x94, > 0x18, 0x29, 0xbb, 0x9b, 0xf7, 0x8f, 0x6e}} > + gEdkiiSystemFmpCapsuleDriverFvFileGuid =3D {0xce57b167, 0xb0e4, 0= x41e8, {0xa8, > 0x97, 0x5f, 0x4f, 0xeb, 0x78, 0x1d, 0x40}} > + > +[PcdsDynamicEx] > + ## This dynamic PCD hold the EDKII system firmware image descriptor. Typo. Should be "holds" > + # This information can be used for version check in EDKII system FMP = capsule. > + # Only if the new EdkiiSystemFrimwareImageDescriptor.Version is no > + less than Typo. Should be "not less than". > + # the current > + PcdEdkiiSystemFirmwareImageDescriptor.LowestSupportedVersion, > + # the EDKII system FmpCapsule will be processed. > + # It must be dynamicEx, because the EDKII system firmware update > + module may Should be "Is must be in [PcdsDynamicEx], because" > + # consume the PCD produced in current system firmware. > + # @Prompt EDKII system firwmare image descriptor. Typo. Should be "system firmware image" The name of C structure type associated with this VOID* PCD should be inclu= ded in the description so a developer knows how to fill in all the byte val= ues. > + > gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareImageDescript > or|{0}|VOID*|0x00 > 000037 Build does not work with this PCD. The value 0 is not a hex value. It mus= t be 0x0. Is the intended default value {0x0}, or is the intended default value empty= {}? > + > + ## This dynamic PCD hold the GUID of a firmware FFS which includes > + EDKII # system firmware image. > + # An EDKII system firmware udpate module need consume this PCD to > + extract Typos. Should be "system firmware update module consumes this PCD". > + # the EDKII system firmware from the capsule image. > + # It must be dynamicEx, because the EDKII system firmware update > + module may Should be "It must be in [PcdsDynamicEx], because" > + # consume the PCD produced in current system firmware. > + # @Prompt EDKII system firmware image FFS GUID. > + > + gEfiSignedCapsulePkgTokenSpaceGuid.PcdEdkiiSystemFirmwareFileGuid|{0 > + xb2, 0x9e, 0x9c, > 0xaf, 0xad, 0x12, 0x3e, 0x4d, 0xa4, 0xd4, 0x96, 0xf6, 0xc9, 0x96, > 0x62, > 0x15}|VOID*|0x00001010 > + > -- > 2.7.4.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel